学生管理系统(结构体)一周目

题目:学生成绩管理(结构体数组、函数、指针、文件、选择、循环)

学生记录包括学号、姓名、语文成绩、数学成绩、总成绩。

程序显示功能选择: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**************欢迎登录通讯录管理系统*******************\n");
		printf("\t--------------------\n");
		printf("\t   1、通讯信息增加  \n");
		printf("\t   2、通讯信息显示  \n");
		printf("\t   3、通讯信息查询  \n");
        printf("\t   4、通讯信息删除  \n");
        printf("\t   5、通讯信息修改  \n");
        printf("\t   6、通讯信息保存  \n");
        printf("\t   7. 退出          \n");
	    printf("\t--------------------\n");
		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("\n\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("打开文件出错!\n");
		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("----------------------------------------------------------------------\n");                          //格式/ 
	printf("  姓名 性别 年龄 籍贯 联系电话  qq号\n"); 
	printf("----------------------------------------------------------------------\n"); 
	for(i=1;i1&&i%10==0)                                                          
		{	printf("\t-----------------------------------\n"); 
			printf("\t"); 
			getchar();
        getchar(); 
			printf("\t-----------------------------------\n"); 
		} 
	} 
	printf("----------------------------------------------------------------------\n");
	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

你可能感兴趣的:(c)