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

📄 input.c

📁 软件测试工程师管理系统
💻 C
字号:
#include <stdio.h>
#include "string.h"
#include "ctype.h"
#include "main.h"
void Input(int i)
{
	char natp[10];
	char adr[30];
	char tnum[15];	
	int n=0;
	int j=0;
	   
		printf("性别(0:女 1:男):");
	   	
	    while(1)
		{
			fflush(stdin);
			scanf("%c",&Engineer[i].Sex);
			if(!(Engineer[i].Sex=='0'||Engineer[i].Sex=='1'))
				printf("性别输入有误,请重新输入!\n");
			else 
				break;
		}
		
     	printf("出生日期(形式如:年-月-日):");
		   while(1)
		   {
			   fflush(stdin);
			   scanf("%10d",&Engineer[i].Birth);
			   if(Engineer[i].Birth.year<1900||Engineer[i].Birth.year>2004)
			   {
				 printf("年份输入有误,请重新输入!\n");
			   	 continue ;
			   }
			   else
			   {

				if((Engineer[i].Birth.year%4==0&&Engineer[i].Birth.year%100!=0)||(Engineer[i].Birth.year%100==0&&Engineer[i].Birth.year%400==0))/*是闰年*/
				{
					scanf("-%2d",&Engineer[i].Birth.month);
					if(Engineer[i].Birth.month<1||Engineer[i].Birth.month>12)/*月份输入有误*/
					{
						
						printf("月份输入有误,请重新输入!\n");
						continue;
					}
					else/*月份输入正确*/
					{
						if(Engineer[i].Birth.month==2)/*输入的是2月*/
						{	scanf("-%2d",&Engineer[i].Birth.day);
							if(Engineer[i].Birth.day<1||Engineer[i].Birth.day>29)
							{	
								printf("该年为闰年,2月份天数只有29天,请重新输入!\n");
								continue;
							}
						}
						else if(Engineer[i].Birth.month==4||Engineer[i].Birth.month==6||Engineer[i].Birth.month==9||Engineer[i].Birth.month==11)/*输入的是30天的月份*/
							{
								scanf("-%2d",&Engineer[i].Birth.day);
								if(Engineer[i].Birth.day<1||Engineer[i].Birth.day>30)
								{
									printf("天数输入有误,请重新输入!\n");
									continue ;
								}
							}
						else
							{
								scanf("-%2d",&Engineer[i].Birth.day);/*输入的是31天的月份*/
								if(Engineer[i].Birth.day<1||Engineer[i].Birth.day>31)
								{
									printf("天数输入有误,请重新输入!\n");
									continue ;
								}
							}

					}
				}
				else/*不是闰年*/
				{
					scanf("-%2d",&Engineer[i].Birth.month);
					if(Engineer[i].Birth.month<1||Engineer[i].Birth.month>12)/*月份输入有误*/
					{
						
						printf("月份输入有误,请重新输入!\n");
						continue ;
					}

			
					else/*月份输入正确*/
					{
						if(Engineer[i].Birth.month==2)/*输入的是2月*/
						{	
							scanf("-%2d",&Engineer[i].Birth.day);
							if(Engineer[i].Birth.day<1||Engineer[i].Birth.day>28)
							{	
								printf("2月份天数只有28天,输入有误,请重新输入!\n");
								continue ;
							}
						}
						else if(Engineer[i].Birth.month==4||Engineer[i].Birth.month==6||Engineer[i].Birth.month==9||Engineer[i].Birth.month==11)/*输入的是30天的月份*/
							{
								scanf("-%2d",&Engineer[i].Birth.day);
								if(Engineer[i].Birth.day<1||Engineer[i].Birth.day>30)
								{
									printf("天数输入有误,请重新输入!\n");
									continue ;
								}
							}
						else
							{
								scanf("-%2d",&Engineer[i].Birth.day);
								if(Engineer[i].Birth.day<1||Engineer[i].Birth.day>31)/*输入的是31天的月份*/
								{
									printf("天数输入有误,请重新输入!\n");
									continue ;
								}
							}	
					}
				}	

			}
			break;//出生日期输入判断完成
		}

          printf("籍贯(不能超过10个字符):");
		   while(1)
		   {
			   fflush(stdin);
		       scanf("%s",natp);
	           n=strlen(natp);
               if(0>n||10<=n)
			   {
		          printf("您输入的籍贯超过了10个字符,请重新输入!\n");
		          continue;
			   }
	  
	  	       for (j=0;j<n;j++)
			   {
		           if(!(isalpha(natp[j])))
			       break;
			   }

		       if(j==n)
		         strcpy(Engineer[i].Natp,natp);
	           else
			   {
			       printf("工程师籍贯只能输入字符,请重新输入\n");
			       continue;
			   }
		      break;//籍贯输入完成
		   }
	       
		  printf("学历(0:高中 1:学士 2:硕士 3:博士 4:其他):");
	      while(1)
		  {
			fflush(stdin);
			scanf("%c",&Engineer[i].Edn);
			switch(Engineer[i].Edn)
			{
				case '0':
				case '1':
				case '2':
				case '3':
			    case '4':break;
				default:
				{	
					printf("输入错误,请重新输入!\n");
					continue;
				}
			}
			break;//学历输入完成
		  }

	     printf("住址(不超过30个字符):");
	     while(1)
		 {
		    fflush(stdin);
		    scanf("%s",adr);
	        n=strlen(adr);
            if(0>n||30<=n)
			{
		       printf("您输入的住址超过了30个字符,请重新输入!\n");
		       continue;
			}
	  
	  	    for (j=0;j<n;j++)
			{
		       if(!(isalpha(adr[j])))
			     break;
			}

		    if(j==n)
		      strcpy(Engineer[i].Adr,adr);
	    	else
			{
			    printf("工程师住址只能输入字符,请重新输入\n");
			    continue;
			}
	    	break;//地址输入完成
		 }

         printf("电话(不超过15个字符):");
	     while(1)
		 {
		     fflush(stdin);
		     scanf("%s",tnum);
	         n=strlen(tnum);
             if(0>n||15<=n)
			 {
		         printf("您输入的电话超过了15个字符,请重新输入!\n");
		         continue;
			 }
	  
	  	    for (j=0;j<n;j++)
			{
		       if(!(isdigit(tnum[j])))
			      break;
			}

		    if(j==n)
		      strcpy(Engineer[i].Tnum,tnum);
		   else
		   {
			  printf("工程师电话只能输入数字,请重新输入\n");
			  continue;
		   }
		   break;//电话输入完成
		 }
	
         printf("工龄(范围为(0,50]):");
	      while(1)
		  {
			  fflush(stdin);
		      scanf("%d",&Engineer[i].Wage);
		      if(Engineer[i].Wage>50||Engineer[i].Wage<0)
			  {
			      printf("您输入的工程师工龄有误,请重新输入!\n");
			      continue;
			  }
		    break;//工龄输入完成
		  }
	   
       	  printf("基本薪水:");
	      while(1)
		  {
			 fflush(stdin);
			 scanf("%f",&Engineer[i].Bsalary);
			 if(Engineer[i].Bsalary<=0)
			 {
				printf("您输入的工程师基本薪水有误,请重新输入!\n");
			 	continue;	
			}
			break;//薪水输入完成
		  }	
      
}

⌨️ 快捷键说明

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