学生管理システム(構造体)一週間目
3833 ワード
テーマ:学生成績管理(構造体配列、関数、ポインタ、ファイル、選択、ループ)
学生記録には、学号、氏名、国語の成績、数学の成績、総成績が含まれている.
プログラム表示機能選択:1、成績情報追加;2、成績情報表示;3、成績情報検索;4、成績情報記録(入力した名前による);5、成績情報を修正する(入力した名前による);6、成績情報を保存する;7、退出する.
********************************************************************************************
全部自分のものじゃないから2017/12
学生記録には、学号、氏名、国語の成績、数学の成績、総成績が含まれている.
プログラム表示機能選択:1、成績情報追加;2、成績情報表示;3、成績情報検索;4、成績情報記録(入力した名前による);5、成績情報を修正する(入力した名前による);6、成績情報を保存する;7、退出する.
********************************************************************************************
全部自分のものじゃないから2017/12
#include /* */
#include /* */
#include /* */
#define FILENAME "phone.dat"
struct date //
{ char name[10]; /* */
char sex[20];
char age[20];
char address[50];
char phone[12];
char qq[20];
}per[10];
int menu() //
{ int c; //
do{
system("cls"); //
printf("\t************** *******************
");
printf("\t--------------------
");
printf("\t 1、
");
printf("\t 2、
");
printf("\t 3、
");
printf("\t 4、
");
printf("\t 5、
");
printf("\t 6、
");
printf("\t 7.
");
printf("\t--------------------
");
printf("\t (1-7):");
scanf("%d",&c);
}while(c>7&&c<1);
return(c);
}
int Input(struct date per[10],int n)
{ int i=0;
char sign,x[10];
while(sign!='n'&&sign!='N')
{ printf("\tname:");
scanf("%s",per[n+i].name);
printf("\tsex:");
scanf("%s",per[n+i].sex);
printf("\tage:");
scanf("%s",per[n+i].age);
printf("\taddress:");
scanf("%s",per[n+i].address);
printf("\tphone:");
scanf("%s",per[n+i].phone);
printf("\tqq:");
scanf("%s",per[n+i].qq);
gets(x);
printf("
\t ?(Y/N)");
fflush(stdin); //
scanf("%c",&sign);
i++;
}
return(n+i);
}
void writeToFile(struct date per[10],int n)
{ FILE *fp=NULL;
int i=0;
fp=fopen("phone.dat","wb");
if(fp==NULL)
{ printf(" !
");
exit(0);
}
for(i=0;i<10;i++)
fwrite(&per[i],sizeof(per),1,fp); // 1
fclose(fp);
}
void Display(struct date per[10],int n)
{ int i;
printf("----------------------------------------------------------------------
"); // /
printf(" qq
");
printf("----------------------------------------------------------------------
");
for(i=1;i1&&i%10==0)
{ printf("\t-----------------------------------
");
printf("\t");
getchar();
getchar();
printf("\t-----------------------------------
");
}
}
printf("----------------------------------------------------------------------
");
getchar();
getchar();
}
int Delete_a_record(struct date per[10],int n)
{ char s[20];
int i=0,j;
printf("\t :");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i