|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 dong50252409 于 2011-8-10 12:10 编辑
- #include "stdio.h"
- #include "stdlib.h"
- #define LEN sizeof(struct student)
- struct student
- {
- char num[6], name[20], sex[3];//定义学号、姓名、性别
- float math, english, politics, chinese, sum;//定义数学、英语、**、语文、总分
- struct student *next;
- };
- int n;//全局变量,用于记录每个班级学生人数
- void main()
- {
- FILE *fp;
- struct student *p1,*p2,*head;
- char c_name[20];//存放班级名
- char ch;//判定是否继续输入学生信息
- n = 0;
- printf("\n请输入班级名:");
- scanf("%s",c_name);
- fp = fopen(c_name,'wb+');
- p1 = p2 = (struct student *)malloc(LEN);
- head = NULL;
- while(1)
- {
- n++;
- if(n == 1)
- {
- printf("\n学号:");
- scanf("%s",&p1->num);
- printf("\n姓名:");
- scanf("%s",&p1->name);
- printf("\n性别:");
- scanf("%s",&p1->sex);
- printf("\n数学成绩:");
- scanf("%f",&p1->math);
- printf("\n英语成绩:");
- scanf("%f",&p1->english);
- printf("\n**:");
- scanf("%f",&p1->politics);
- printf("\n语文成绩:");
- scanf("%f",&p1->chinese);
- p1->sum = p1->math + p1->english + p1->politics + p1->chinese;
- printf("\n学号\t姓名\t性别\t数学\t英语\t**\t语文\t总分\n");
- printf("------------------------------------------------------------\n");
- printf("%s\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",p1->num, p1->name, p1->sex, p1->math, p1->english, p1->politics, p1->chinese, p1->sum);
- head = p1;
- printf("输入0结束,回车继续输入!");
- scanf("%c",ch);
- if(ch == '0')
- {
- break;
- }
- }
- else
- {
- p1 = p2 = (struct student *)malloc(LEN);
- printf("\n学号:");
- scanf("%s",&p1->num);
- printf("\n姓名:");
- scanf("%s",&p1->name);
- printf("\n性别:");
- scanf("%s",&p1->sex);
- printf("\n数学成绩:");
- scanf("%f",&p1->math);
- printf("\n英语成绩:");
- scanf("%f",&p1->english);
- printf("\n**:");
- scanf("%f",&p1->politics);
- printf("\n语文成绩:");
- scanf("%f",&p1->chinese);
- p1->sum = p1->math + p1->english + p1->politics + p1->chinese;
- printf("\n学号\t姓名\t性别\t数学\t英语\t**\t语文\t总分\n");
- printf("------------------------------------------------------------\n");
- printf("%s\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",p1->num, p1->name, p1->sex, p1->math, p1->english, p1->politics, p1->chinese, p1->sum);
- p2 = p1;
- p2->next = p1;
- printf("输入0结束,回车继续输入!");
- scanf("%c",ch);
- if(ch == '0')
- {
- break;
- }
- }
- }
- p2->next= NULL;
- fclose(fp);
- }
复制代码 C:\Users\DY\Desktop\C源代码\新建文本文档.c(24) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'const int '
C:\Users\DY\Desktop\C源代码\新建文本文档.c(24) : warning C4024: 'fopen' : different types for formal and actual parameter 2
C:\Users\DY\Desktop\C源代码\新建文本文档.c(52) : warning C4700: local variable 'ch' used without having been initialized
新建文本文档.obj - 0 error(s), 0 warning(s)
输入完班级名程序就崩溃
|
|