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

📄 input.cpp

📁 学生管理系统是本人用c语言写的一个DOC界面的简单学生管理系统
💻 CPP
字号:


//输入
#include "head.h"



 student * input(student * p)
 { 

	char queren='Y';//quenren 为用户确认标
	int i=0, j=0;
	float  score=1000;
    char   name[16]={' '};    
	 student *head=p;
	 student *taill=p;
     student *q=NULL;

 while(queren=='y' || queren=='Y') 	
 {  
	   	 system("cls");
         j=0;
		 printf("请输入该学员的学号:\n");
	     fflush(stdin);
		 for(i=0;i<11;i++)
		 {
			j=j+1;
			if(j>10)
			{
			 printf("输入数据太长,请核对后重新输入!\n");
			 goto END;
			}
		    scanf("%c",&name[i]);

			if(name[i]=='\n')
			{
				name[i]='\0';
				break;
			}

		 }
          
		 if(j==1 )
		 {
		    printf("学号不能为空!\n");		
	    	goto END ;
		 }
        q=( student *)malloc(sizeof( student));
		strcpy(q->Stnumber," ");
	    q->next=NULL; 
	    if(p==NULL)
	     	 p=head=taill=q;
	    else
			 {
			  while(head!=NULL)
			  {
			   taill=head;
			   head=head->next;
			  }	
			   taill->next=q;
			   taill=q;
			 }
         j = check_re(name,p);   //检查是否输入重复
         if(j==0)
		 {
		   strcpy(q->Stnumber,name);
		 }
		 else
		 {
			 printf("该学员号已存在,请核对后再输入!\n");
			 goto END;
		 }

NAME:
	     printf("请输入学员的姓名:\n");
		 fflush(stdin);
		 j=0;
          for(i=0;i<17;i++)
			 {
				j=j+1;
				if(j>16)
				{
				 printf("输入数据太长,请核对后重新输入!\n");
				 goto NAME;                              //返回重新输入姓名
				}

				scanf("%c",&name[i]);
				if(name[i]=='\n')
				{

					
					name[i]='\0';
					break;
				}
                  
			 }
		  strcpy(q->name ,name);
         
SEX:
		 printf("请输入性别:\n");
		 fflush(stdin);
		 j=0;
		 for(i=0;i<3;i++)
			 {
			  j=j+1;
			  if(j>2)
			  {
			   printf("性别只能是 \"男\" 或 \"女\" !\n");
			   goto SEX;                                      //返回重新输入性别
			  }

			  scanf("%s",name);
			  if(name[i]=='\n');
			  {
			   break;
			  }
			 }
          if(strcmp(name,"男")!=0 && strcmp(name,"女")!=0)
		  {
			  printf("性别只能是 \"男\" 或 \"女\" !\n");
			  goto  SEX;
		  }
		 strcpy(q->sex,name);
		 
NUMBER:
		 printf("请输入该学员的语文、数学、英语的单科成绩:\n");
		 fflush(stdin);
	
		 (*q).average=0.0 ;  //赋初值
	      for(i=0;i<3;i++)
		  {
			    scanf("%f",&score);
				if(score>100 || score<0)                                 //判断是否输入是数字
				{
				 printf("成绩只能在0到100之间,请核对后再输入!\n");
				 goto NUMBER;
				}
			    q->grade[i]=score;
				(*q).average=(*q).average+(*q).grade[i];
		  }
		 (*q).average = (*q).average/3.0;
END:	 
		 printf("是否继续添加数据 (Y/N)?\n");
		 fflush(stdin);
		 scanf("%c",&queren);
		 if(queren!='n' && queren!='N'&& queren!='Y' && queren!='y') //判断输入是否正确
		 {
			  printf("错误输入,请从新输入!\n");
			  goto END;
		 }
         

	}
    if(p!=NULL)
	{
    save_student(p);      //保存数据
	}
     return p;


}

⌨️ 快捷键说明

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