欢迎来到天天文库
浏览记录
ID:56525123
大小:33.50 KB
页数:13页
时间:2020-06-27
《学生成绩管理系统c语言代码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#defineNsizeof(structSTH)#defineGESHI "%-10ld%-10s%-5s%-4d/%-2d/%-4d%-12s%-12s%s"#definePRINTF "学号 性别 生 日 系别 班级 家庭住址"structSTH*readfile();/*声明*/intinsert(structSTH**);intn=0;structdt{ intyear; /*全局变
2、量*/ intmonth; intday;};structSTH{ longnum; /*学号不能以0开头*/ charname[9]; charsex[5]; structdtbirth; charxi[20]; charban[20]; charadd[30]; structSTH*next;}*head;/*输入模块*/input_message(){ charch; intflag=1; do { if(insert(&head)!
3、=0) n++; /*计数*/ else printf("有相同的的学号!"); printf("是否继续?(y/n)"); getchar(); scanf("%c",&ch); if(ch=='y'
4、
5、ch=='Y') { printf("继续!"); getch(); flag=1;/*标志程序不结束*/ }
6、 else flag=0; }while(flag==1); save_message(); printf("按任意键继续..."); getch();}/*insert()模块*/ /*被输入和插入模块所调用*/intinsert(structSTH**h){ structSTH*p,*p0; p=(structSTH*)malloc(N); printf("请输入学号:"); scanf("%ld",&p->num); printf("请输入:")
7、; scanf("%s",p->name); printf("请输入性别:"); getchar(); /*取走上一个留下来得‘’*/ scanf("%s",p->sex); printf("请输入生日(年月日,用回车隔开):"); scanf("%d%d%d",&p->birth.year,&p->birth.month,&p->birth.day); printf("请输入系别:"); scanf("%s",p->xi); printf("请输入班级:"); scan
8、f("%s",p->ban); printf("请输入家庭住址:"); scanf("%s",p->add); p->next=NULL; if(*h==NULL) { *h=p; return1; } p0=*h; if(p0->num>p->num) { p->next=p0; *h=p; return1; } while(p0->next!=NULL&&p0->next->numnum) p0=p0->next
9、; if(p0->next==NULL) { p0->next=p; return1; } elseif(p0->next->num==p->num) { free(p); /*有相同数据输入失败*/ return0; } else { p->next=p0->next; p0->next=p; return1; }}/*读文件模块*/ /*读文
10、件模块中创建了一个新的链表,其返回值为新链表的头指针*/structSTH*readfile(){ FILE*fp; structSTH*p,*p0;
此文档下载收益归作者所有