哪位大神能幫忙看一下為什么輸出結果出錯了啊?
#include<stdio.h>
#include<math.h>
#include<string.h>
struct student
{
char banji[10];
char xuehao[9];
char xingmin[8];
double qimocj;
double pingshicj;
double zongcj;
};
struct student ren[100];
int i=0;
void luru();
void chaxun();
void xiugai();
void fanhui();
void xianshi();
void chakan();
void main()
{ while(1)
{
printf("--------歡迎使用,此程式用于計算學生成績考核------\n");
puts("\t 1---錄入成績");
puts("\t 2---查詢資訊");
puts("\t 3---修改資訊");
puts("\t 4---查看已錄入的資訊");
puts("\t 5---回傳主選單");
printf("請輸入數字執行操作:");
char x;
scanf("%c",&x);
switch(x)
{ case '1':luru();
break;
case '2':chaxun();
break;
case '3':xiugai();
break;
case '4':chakan();
break;
case '5':
/*scanf("%c",&x);*/
return;
}
scanf("%c",&x);
scanf("%c",&x);
}
}
void luru()
{ while(1)
{
printf("班級:");
scanf("%s",&ren[i].banji);
printf("學號:");
scanf("%s",&ren[i].xuehao);
printf("姓名:");
scanf("%s",&ren[i].xingmin);
printf("期末成績:");
scanf("%ld",&ren[i].qimocj);
printf("平時成績:");
scanf("%ld",&ren[i].pingshicj);
ren[i].zongcj=ren[i].pingshicj*(3/10.0)+ren[i].qimocj*(7/10.0);
printf("總成績:%ld\n",ren[i].zongcj);
i++;
printf("是否要繼續錄入學生成績?(y/n):");//y代表yes,n代表no
char x=getchar();//空讀回車
char c;
scanf("%c",&c);
if(c=='n')
puts("\n");
main();
}
void chakan()
{ printf("班級\t\t學號\t\t姓名\t\t期末成績\t\t平時成績\t\t總成績\n");
for(int m=0;m<i;m++)
{
printf("%s\t\t%s\t\t%s\t\t%ld\t\t%ld\t\t%ld\n",ren[m].banji,ren[m].xuehao,ren[m].xingmin,ren[m].qimocj,ren[m].pingshicj,ren[m].zongcj);
}
}
uj5u.com熱心網友回復:
為什么要呼叫main();轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/15810.html
標籤:基礎類
上一篇:可以幫忙看一下為什么輸出老是多一串1769096293
下一篇:萌新求助
