永发信息网

高分求一个200行左右的C语言程序要简单的我才学C语言

答案:4  悬赏:10  手机版
解决时间 2021-02-03 00:10
这是期末的作业一定要简单的 而且这个程序还需要我的答辩 一定要简单啊
有的请发我邮箱942806576@qq.com你这不是坑爹么
最佳答案
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define Enter 13
typedef struct node1
{
char filename[20];
char neir[100];
char date[20];
struct node1 *next;
}riji;
typedef struct node
{
char name[20];
char mima[20];
int count; //用户的日志数量
riji * Rj;
struct node *next;
} yonghu;
yonghu * Y;
void menu(void)
{
printf("林振明日记管理系统\n");
printf(" 1.用户名登入\n");
printf(" 2.用户名注册\n");
printf(" 3.保存用户\n");
printf(" 0.退出\n");
}
void menu1(yonghu *p)
{
riji *r;
printf(" %s的主页\n",p->name);
printf("%s的共有%d篇日记\n",p->name,p->count);
printf("已有的日记\n");
r=p->Rj;
while(r!=NULL)
{
printf("\t%s\n",r->filename);
r=r->next;
}
printf(" 1.查看我的日记\n");
printf(" 2.增加我的日记\n");
printf(" 3.保存我的日记\n");
printf(" 0.退出\n");
}
void initlist(void)
{
riji *R;
R=(riji *)malloc(sizeof(riji));
Y=(yonghu *)malloc(sizeof(yonghu));
Y->Rj=R;
Y->next=NULL;
}
void Consult(yonghu * p)
{

char filename[20];
riji *r;
printf("请输入您要查阅的文件名\n");
scanf("%s",filename);
rewind(stdin);
r=p->Rj;
while(strcmp(r->filename,filename)!=0)
r=r->next;
printf("日记名称%s\t日期%s\n\t文件内容\n%s\n",r->filename,r->date,r->neir);

}
void creatfile(yonghu *p)
{

riji *r;
r=(riji *)malloc(sizeof(riji));
printf("日记的名称(日记名称不可以重复)\n");
scanf("%s",r->filename);
rewind(stdin);
printf("日记的日期\n");
scanf("%s",r->date);
rewind(stdin);
printf("日记的内容\n");
scanf("%s",r->neir);
rewind(stdin);
r->next=p->Rj;
p->Rj=r;
p->count++;

}
void savefile(yonghu *p)
{
FILE *fp;
riji *r;
char fname[20];
printf("请输入文件名\n");
scanf("%s",fname);
rewind(stdin);

fp=fopen(fname,"w");
r=p->Rj;
while(r!=NULL)
{
fwrite(r,sizeof(riji),1,fp);
r=r->next;
}
fclose(fp);
printf("保存成功\n");
}
void operate(yonghu * p)
{
int choose;
do
{
menu1(p);
printf("请输入您的选择\n");
scanf("%d",&choose);
switch(choose)
{
case 1:Consult(p); break;
case 2:creatfile(p);break;
case 3: savefile(p);break;
}

} while(choose !=0);

}
void login(void)
{
yonghu *p,*q;
int i=0;
char user_name[20];
char pass[20];
printf("已有的用户名\n");
q=Y->next;
while(q!=NULL)
{
printf("\t\t%s\n",q->name);
q=q->next;
}
printf("请输入用户名:\n");
scanf("%s",user_name);
rewind(stdin);
printf("请输入用户密码\n");
while((pass[i]=getch())!=Enter)
{
printf("*");
i++;
}
pass[i]='\0';
printf("\n");
p=Y->next;
while (p!=NULL)
{
printf("%s \t%s\n",p->name,p->mima);
if((strcmp(p->name,user_name)==0)&&(strcmp(p->mima,pass)==0))
break;
p=p->next;
}
if(p==NULL)
printf("您输入的用户名和密码不匹配\n\t本次登入失败!\n");
else
{
printf("登入成功\n");
operate(p);
}
}
void creatlist(void)
{
yonghu *p,*q;
char pass[20];
int i=0;

printf("已有的用户名\n");
q=Y->next;
while(q!=NULL)
{
printf("\t\t%s\n",q->name);
q=q->next;
}

printf("请输入您要添加的用户名(不可以重复)\n");
p=(yonghu *)malloc(sizeof(yonghu));
scanf("%s",p->name);
rewind(stdin);
printf("请输入您要添加的用户密码\n");
while((pass[i]=getch())!=Enter)
{
printf("*");
i++;
}
pass[i]='\0';
printf("\n");
strcpy(p->mima,pass);
p->count=0;
p->Rj=NULL;
p->next=Y->next;
Y->next=p;
printf("\n\n\t\t\t####恭喜你申请成功####\n\n\t");
system("pause");
}
void saveuser(void)
{
FILE *fp;
yonghu *p;
fp=fopen("user.txt","w");
p=Y->next;
while(p!=NULL)
{
fwrite(p,sizeof(yonghu),1,fp);
p=p->next;
}
fclose(fp);
printf("保存成功\n");
}
void wirte(void)
{
FILE *fp1;
FILE *fp2;
yonghu *p;
riji *s;
char name1[20];

if((fp1=fopen("user.txt","r+"))==NULL)
return ;
while(!feof(fp1))
{
p=(yonghu *)malloc(sizeof(yonghu));
if(fread(p,sizeof(yonghu),1,fp1)!=1)
break;
p->Rj=NULL;
p->next=Y->next;
Y->next=p;
printf("用户名%s\n",p->name);
printf("请输入要打开的文件名\n");
scanf("%s",name1);
if((fp2=fopen(name1,"r+"))==NULL)
{
printf("没有文件\n");
continue;
}
else
while(!feof(fp2))
{
s=(riji *)malloc(sizeof(riji));
if(fread(s,sizeof(riji),1,fp2)!=1)
break;
s->next=p->Rj;
p->Rj=s;
}
fclose(fp2);
}
fclose(fp1);

}
int main(void)
{
int choose;
initlist();
wirte();

do
{
menu();
printf("请输入您的选择\n");
scanf("%d",&choose);
switch(choose)
{
case 1:login(); break;
case 2:creatlist();break;
case 3:saveuser();break;
}
}while(choose!=0);
return 0;

}
另外,虚机团上产品团购,超级便宜
全部回答
我给个我的课程设计给你,但你要给这100分给我哈哈
什么算简单
//C语言代码 #include <stdio.h> void main() { printf("hello!");//此行复制200遍即可 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
曾厝村地址在哪,我要去那里办事
定居点的意思是什么啊?知道的请说下!
【乘号怎么打出来】有时候用一个点代替乘号那
纬九路/金汇东路(路口)我想知道这个在什么地
怎么样从南京东站坐车去南京江宁客运站?
【三年级数学奥数题】小学三年纪数学题(要求
用信用卡在网上买的东西,退款,能退吗
樱雪丸的《史上最强日本史》和《日本明治维新
歊然的意思是什么啊?知道的请说下!
梁平正通兽药经营部怎么去啊,有知道地址的么
患者,女,25岁。月经提前1周,经量多,色鲜
一目五行的意思是什么啊?知道的请说下!
出租车驾驶员有没有休息
史上最强中后卫到底是哪个
恩施州有多少个乡镇?哪些乡镇经济能力比较好
推荐资讯
玉席的意思是什么啊?知道的请说下!
哪位有巴士奇遇结良缘的粤语版吗?一部很老的
为什么我的手机安装软件总是提示的为授权?
谁有尘欲都市录百度云文件啊 谢谢
过来的意思是什么啊?知道的请说下!
紫薇社区地址在什么地方,想过去办事
window电脑怎么下载xcode
森幻的意思是什么啊?知道的请说下!
123耀子 20:23:19 一个底面周长为15.7cm的圆
少林拳术中,哪几种实战性强一点?
找营这个地址在什么地方,我要处理点事
发美丝美容美发设计中心地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?