⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kcsj.c

📁 学生信息管理
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

#define MAX 50

typedef struct _CStudent
{
	    char szName[20];         
	    int nNumber;             
	    int nAge;                 
	    char cSex;               
	    char szAddress[20];      
	    int nPostalcode;          
	    double dDataStruct;       
	    double dMath;           
	    double dEnglish;          
	    double dCPlusPlus;      
}CStudent;
void Input();
void Seek();
void Notice();
int main()
{     
	char choice;
	do{
    	printf("\n\n\n\n\n                              学生信息管理系统\n\n");
        printf("*******************************************************************************\n");
    	printf("\n                               数据录入请按 1\n\n                               成绩查询请按 2\n\n                               通 知 单请按 3\n\n                               退 出  请 按 4\n");
    	choice=getch();
        system("cls");
    	switch(choice){
    		case '1':
                Input();
     			printf("\n\n                     谢谢使用!按任意键返回主菜单\n\n");
    			getch();
    			system("cls");
    			break;
    		case '2':
    			Seek();
    			printf("\n\n\n\n                     谢谢使用!按任意键返回主菜单\n\n");
    			getch();
      			system("cls");
    			break;
    		case '3':
    			Notice();
    			printf("\n\n\n\n                     谢谢使用!按任意键返回主菜单\n\n");
    			getch();
    			system("cls");
    			break;
    		case '4':
    			printf("\n\n                        谢谢使用!按任意键退出\n\n");
    			getch();
    			return 0;
    		default:
    			printf("\n\n\n\n\n\n\n                            输入错误,按任意键返回\n");
    			getch();
    			system("cls");
		}
	}while(choice!=4);
	return 0;
}

void Input() 
{
	FILE *fp;
	int num,i;
	char choice;
	CStudent infor[MAX];
	do{
		printf("\n\n\n\n\n\n                               新建数据请按 1\n\n                               追加数据请按 2\n\n                               退 出  请 按 3\n");
	    fflush(stdin);
	    choice=getch();
	    system("cls");
	    switch(choice){
		    case '1':
			    printf("\n\n\n\n\n\n                       该操作会覆盖原有数据,请注意备份\n\n                               按任意键继续\n\n");
			    getch();
			    system("cls");
			    printf("\n\n\n\n\n\n                               输入学生人数:");
			    scanf("%d",&num);
			    system("cls");
         	    printf("输入学生信息.\n");
	            if((fp=fopen("d:\\学生信息.KCSJ","wb"))==NULL)
				{
				    system("cls");
				    printf("\n\n\n\n\n\n                           文件打开错误!按任意键退出\n");
                    getch();
				    exit(0);
				}
                for(i=0;i<num;i++)
				{
                    printf("姓名:\n");
        		    fflush(stdin);
             	    gets(infor[i].szName);
        	    	printf("姓名: %s\n",infor[i].szName);
            	    fwrite(infor[i].szName,sizeof(infor[i].szName),1,fp);

            	    printf("学号:\n");
            	    scanf("%d",&infor[i].nNumber);
        		    printf("学号: %d\n",infor[i].nNumber);
            	    fwrite(&infor[i].nNumber,sizeof(infor[i].nNumber),1,fp);

            	    printf("年龄:\n");
            	    scanf("%d",&infor[i].nAge);
        		    printf("年龄: %d\n",infor[i].nAge);
            	    fwrite(&infor[i].nAge,sizeof(infor[i].nAge),1,fp);

            	    printf("性别(女m/男f):\n");
            	    fflush(stdin);
         		    scanf("%c",&infor[i].cSex);
        		    printf("性别: %c\n",infor[i].cSex);
            	    fwrite(&infor[i].cSex,sizeof(infor[i].cSex),1,fp);

                    printf("家庭地址:\n");
                	scanf("%s",infor[i].szAddress);
            		printf("家庭地址: %s\n",infor[i].szAddress);
                 	fwrite(infor[i].szAddress,sizeof(infor[i].szAddress),1,fp);

                    printf("邮编:\n");
                 	scanf("%d",&infor[i].nPostalcode);
            		printf("邮编: %d\n",infor[i].nPostalcode);
                	fwrite(&infor[i].nPostalcode,sizeof(infor[i].nPostalcode),1,fp);
	
                    printf("数据结构:\n");
                	scanf("%lf",&infor[i].dDataStruct);
            		printf("数据结构: %lf\n",infor[i].dDataStruct);
                	fwrite(&infor[i].dDataStruct,sizeof(infor[i].dDataStruct),1,fp);

                    printf("数学:\n");
                	scanf("%lf",&infor[i].dMath);
            		printf("数学: %lf\n",infor[i].dMath);
                	fwrite(&infor[i].dMath,sizeof(infor[i].dMath),1,fp);

                    printf("英语:\n");
                	scanf("%lf",&infor[i].dEnglish);
            		printf("英语: %lf\n",infor[i].dEnglish);
                	fwrite(&infor[i].dEnglish,sizeof(infor[i].dEnglish),1,fp);
	
                    printf("C++:\n");
            	    scanf("%lf",&infor[i].dCPlusPlus);
             		printf("C++: %lf\n",infor[i].dCPlusPlus);
                	fwrite(&infor[i].dCPlusPlus,sizeof(infor[i].dCPlusPlus),1,fp);
				}
      	        if(fclose(fp))
				{
				    system("cls");
         		    printf("\n\n\n\n\n\n                           无法关闭文件!按任意键退出\n");
        		    getch();
        		    exit(0);
				}
        	    system("cls");
		    	return;

		    case '2':
			    printf("\n\n\n\n\n\n输入追加学生人数:");
    	        fflush(stdin);
            	scanf("%d",&num);
	    		system("cls");
		     	printf("输入学生信息.\n");
    			if((fp = fopen("d:\\学生信息.KCSJ","ab"))==NULL)
				{
				    system("cls");
    				printf("\n\n\n\n\n\n                           文件打开错误!按任意键退出\n");
                    getch();
		    		exit(0);
				}
    			for(i=0;i<num;i++)
				{
                    printf("姓名:\n");
            		fflush(stdin);
                 	gets(infor[i].szName);
            		printf("姓名: %s\n",infor[i].szName);
                	fwrite(infor[i].szName,sizeof(infor[i].szName),1,fp);

                	printf("学号:\n");
                	scanf("%d",&infor[i].nNumber);
            		printf("学号: %d\n",infor[i].nNumber);
                	fwrite(&infor[i].nNumber,sizeof(infor[i].nNumber),1,fp);

                	printf("年龄:\n");
                	scanf("%d",&infor[i].nAge);
            		printf("年龄: %d\n",infor[i].nAge);
                	fwrite(&infor[i].nAge,sizeof(infor[i].nAge),1,fp);

                	printf("性别(女m/男f):\n");
                	fflush(stdin);
             		scanf("%c",&infor[i].cSex);
        	    	printf("性别: %c\n",infor[i].cSex);
            	    fwrite(&infor[i].cSex,sizeof(infor[i].cSex),1,fp);


                    printf("家庭地址:\n");
                	scanf("%s",infor[i].szAddress);
            		printf("家庭地址: %s\n",infor[i].szAddress);
                 	fwrite(infor[i].szAddress,sizeof(infor[i].szAddress),1,fp);

                    printf("邮编:\n");
                	scanf("%d",&infor[i].nPostalcode);
            		printf("邮编: %d\n",infor[i].nPostalcode);
                	fwrite(&infor[i].nPostalcode,sizeof(infor[i].nPostalcode),1,fp);
	
                    printf("数据结构:\n");
                	scanf("%lf",&infor[i].dDataStruct);
            		printf("数据结构: %lf\n",infor[i].dDataStruct);
                	fwrite(&infor[i].dDataStruct,sizeof(infor[i].dDataStruct),1,fp);

                    printf("数学:\n");
            	    scanf("%lf",&infor[i].dMath);
            		printf("数学: %lf\n",infor[i].dMath);
                	fwrite(&infor[i].dMath,sizeof(infor[i].dMath),1,fp);

                    printf("英语:\n");
                	scanf("%lf",&infor[i].dEnglish);
        		    printf("英语: %lf\n",infor[i].dEnglish);
                	fwrite(&infor[i].dEnglish,sizeof(infor[i].dEnglish),1,fp);
	
                    printf("C++:\n");
                	scanf("%lf",&infor[i].dCPlusPlus);
        	    	printf("C++: %lf\n",infor[i].dCPlusPlus);
            	    fwrite(&infor[i].dCPlusPlus,sizeof(infor[i].dCPlusPlus),1,fp);
            		system("cls");
				}
         	    if(fclose(fp))
				{
				    system("cls");
             		printf("\n\n\n\n\n\n                            无法关闭文件!按任意键退出\n");
            		getch();
            		exit(0);
				}
        	    system("cls");
			    return;

			case '3':
				return;

		    default:
        	    system("cls");
			    printf("\n\n\n\n\n\n\n                            输入错误!按任意键继续\n");
    			getch();
        	    system("cls");
		  }
	}while(choice!='3');
}
void Seek()
{
	FILE *fp;
	int num,i;
	char choice,nam[20];
	CStudent infor[MAX];
	do{
		printf("\n\n\n\n\n\n                               按姓名查找请按1\n\n                               按学号查找请按2\n\n                               退  出 请  按 3\n");
    	fflush(stdin);
    	choice=getch();
    	system("cls");
		switch(choice){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -