❶ 用c語言實現對學生信息增刪改,怎麼做啊
要更詳細答案,聯系我,這個很難做的,起碼要給點懸賞分作為酬勞啊!!!
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
//數據結構的定義
typedef struct node{
	int id;  //學號
	char name[10]; // 姓名
	int grade;  //成績      
	struct node * next; //指向下一節點的指針
}node,*list;
//函數的聲明,必須按照聲明來定義函數
void showMenu(); //顯示菜單
void start(); // 主控程序
void init(list &h);// 初始化鏈表h
void printAnRecord(node * p);//輸出p所指節點的值(id,name,grade)
void printList(list h);// 輸出鏈表h的各節點的值
int del(list h,int n);//刪除鏈表h中id為n的節點,成功刪除返回1,若不存在則返回0
int insert(list h,int id,char * name,int grade);//在鏈表h中,插入節點(n,name,grade),若id重復返回0,否則返回1
node * searchByID(list h, int n);// 在鏈表h中查找id為n的節點,查找成功返回其指針,否則返回NULL
int update(list h,int n,int grade);// 將鏈表h中id為n的節點的成績改為grade,若不存在該節點返回0,否則返回1
float average(list h); //返回鏈表h中各個節點成績的平均值
int bulkInsert(list h);//在鏈表h中批量插入節點,以id=0結束,返回成功插入的節點數
void clearList(list h);//清空鏈表h(使其成為空鏈表)
void showMenu()
{  //顯示菜單
	puts("   0----Bulk  Insert ");
	puts("   1----Insert an Record");
	puts("   2----Delete an Record");
	puts("   3----Update an Record's grade");
	puts("   4--- Search an Record by stu_id");
	puts("   5----Print all Record");
	puts("   6----Average of grade"); 
	puts("   7----Clear list");
	puts("   9----Exit");
}
//主控程序
void start()
{
	list h; //鏈表
	int choice; //功能選擇
	int id,grade,flag=1,m;
    char name[10];
	showMenu();
	init(h); //初始化鏈表h,即建立空鏈表
	while(flag){//若未退出程序
		puts("      ********    Please input 1...9  *********    ");
		scanf("%d",&choice);
		
		switch(choice){  //根據選擇的功能號,執行不同的操作
			case 0 : 
				puts("input Stu_ID, Name  , Grade (end by 0)");
				m=bulkInsert(h);
				printf(" %d  Record insert successfully\n",m);
				break;
			case 1:
				puts("input Stu_ID,  Name  , Grade:  ");
				scanf("%d",&id);
				scanf("%s",name);
				scanf("%d",&grade);
				if( insert(h,id,name,grade) )
					puts("Insert an Record successfully!");
				else
					puts("Sorry, blicate ID ");
				break;
			case 2:
				puts("input Stu_ID to delet");
				scanf("%d",&id);
				if( del(h,id) )
					puts("Delete an Record successfully");
				else 
					puts("Sorry, ID no exit ");
				break;
			case 3:
					puts("input Stu_ID and grade to update");
					scanf("%d",&id);
					scanf("%d",&grade);
					if ( update(h,id,grade) )
						puts("Update an Record successfully ");
					else
						puts("Sorry, ID no exit ");
					break;
			case 4:
					puts("input Stu_ID  to search");
					scanf("%d",&id);
					node *p;
					if(  p=searchByID(h,id) )
						printAnRecord(p);
					else
						puts("Sorry, ID no exit ");
					break;
			case 5:
				    printList(h);
					break;
			case 6:
				    printf("The average grade is  %6.2f \n ", average(h) );
					break;
			case 7:
				   clearList(h);
				   break;
			case 9:
				    flag=0; //退出循環
					break;
			
			default:
				    puts(" Error ! Must Input (1...9) ");
					
		}
	}
}
void main()
{
	//編程時要一個一個函數的調試完成後,最後再調用主控程序
	start();
    
}
❷ 編寫一個c語言程序,實現錄入學生學號和姓名信息的功能
#include<stdio.h>
#include<stdlib.h>
intmain(void)
{
chars[10];//姓名
intnum;//學號
printf("請輸入姓名: ");
gets(s);
printf("請輸學號: ");
scanf("%d",&num);
printf("姓名是:%s 學號是:%d ",s,num);
system("pause");
return0;
}

(2)c語言添加學生信息擴展閱讀
c語言建立學生檔案
#include<stdio.h>
#include<string.h>
結構學生
{
整數
字元名稱[10];
智
intEng;
墊子;
};
//s_number-檢索的學號
//numebr-文檔已經存儲的學號
//按學號查找
布爾搜索(chars_New[],charNew[])
{
如果(strcmp(s_New,New))
{
返回true;//查找成功
}
其他
{
returnfalse;//查找失敗
}
}
無效menu()
{
printf(「----------------------------------------------------------- 「);
printf(「菜單: 」);
printf(「 1。建立學生檔案 」);
printf(「 2。讀取所有學生記錄 」);
printf(「 3。在文件尾添加學生記錄 」);
printf(「 4。查詢學生姓名 」);
printf(「 5。結束程序 」);
printf(「----------------------------------------------------------- 「);
}
無效menu_2()
{
printf(「----------------------------------------------------------- 「);
printf(「查找選擇菜單: 」);
printf(「 1。按名字查找 」);
printf(「 2。按學號查找 」);
printf(「請選擇: 」);
printf(「----------------------------------------------------------- 「);
}
intmain()
{
而(1)
{
菜單();
法官
printf(「請輸入你的選項:」);
判斷=scanf(「%d」,&n);
如果(判斷==0)
{
printf(「輸入格式錯誤! 」);
}
開關(n)
{
情況1:
{
FILE*pf=fopen(「Student.txt」,「w+」);
字元標志='Y';
while(flag=='Y'|flag=='y')
{
學生stu;//創建學生結構體
printf(「請輸入學生的學號: 」);
scanf(「%d」,&stu.number);
getchar();//吃掉以上一個輸入的回車符
printf(「請輸入學生的姓名: 」);
scanf(「%s」,stu.name);
printf(「請輸入學生的語文成績: 」);
scanf(「%d」,&stu.Chi);
printf(「請輸入學生的英語成績: 」);
scanf(「%d」,&stu.Eng);
printf(「請輸入學生的數學成績: 」);
scanf(「%d」,&stu.Mat);
//把學生檔案導入Student.txt文檔
fprintf(pf,「#姓名:%s 學號:%d 語言成績:%d 英語成績:%d 數學成績:%d 」,stu.name,stu.number,stu.Chi,stu.Eng,stu.Mat);
getchar();//吃掉以上一個輸入的回車符
printf(「是否繼續輸入學生檔案?(是或否) 」);
判斷=scanf(「%c」,&flag);
如果(判斷==0)
{
printf(「輸入格式錯誤! 」);
}
}
fclose(pf);
打破;
}
❸ c語言程序設計學生信息管理系統中如何插入學生信息
真有點累人啊,汗~~~~~~
不過,你的要求這些代碼都能滿足了,
可能會有點小錯誤,我這兒也無法驗證,總之總體的思路是完全正確的。
#include <stdio.h>
#include <string.h>     //字元串頭文件
#include <windows.h>   //Sleep函數的頭文件
#include <conio.h>    //getch函數的頭文件
#define N 50
//定義全局變數
//定義學員結構體
typedef struct Student
{
   
   char name[10];//姓名
   int NO;//學號
   char sex[10];//性別
   char subject[20];//專業
   int phone;//電話
   char jianli[200];//簡歷	
}STU;
    //聲明這種學員類型的數組
    STU stu[N];
    //計數器n 
    int n=0; //代表數組的實際人數
//登錄函數
void login()
{
	system("color 2A");//定義背景和前景顏色
	//登錄模塊實現代碼
	char Yonghu[30];
    char Mima[30];
	for(int i=0;i<3;i++)
	{
	   // 列印登陸界面
		Sleep(500);//定時列印
		printf("\n\n\t\t\t\t學員管理系統平台\n");
	   		
		Sleep(500);
		
		printf("\n\t\t\n");
		Sleep(500);
	    printf("\n\t\t\t\t用戶名:");
		gets(Yonghu);
		printf("\n\t\t\t\t密碼:");
		char let=NULL;//定義一個字元變數為空值
		int j=0; //代表密碼的實際長度
		while(j<10 && let!=13)//定義密碼長度和當接收的字元不為回車鍵(回車鍵的ASCLL碼值為13)時
		{
			let=getch();//獲得字元 不顯示
			if(let!=8)//當接收的字元不為退格鍵(退格鍵的ASCLL碼值為8)時
			{
				Mima[j++]=let;//將接收的字元賦給數組Mima並自加一個長度
				printf("*");
			}
			else
			{
				if(j>0)//當密碼長度不為0時
				{
					//刪除字元的操作
					putchar(8);
					putchar(' ');
					putchar(8);
					Mima[--j]=NULL;//將空值賦給數組Mima並自減一個長度
				}
			}
		}
		Mima[--j]=NULL;
		putchar(8);//消除因回車鍵所列印的*
		putchar(' ');
		putchar(8);
		putchar('\0');//字元串結束標記
		//驗證密碼
        if(strcmp(Yonghu,"姓名")==0 && strcmp(Mima,"123456")==0)//用比較函數判斷用戶輸入的用戶名和密碼是否正確
		{
			//調用dos命令清空控制台屏幕
			system("cls");
			printf("\n\n\n\n\n\t\t\t正在登錄菜單界面,請稍候...");
			for(int i=0;i<=5;i++)
			{
				Sleep(666);
				printf(">>>");
			}
			for(int i=0;i<=100;i++)
			{
				system("cls");
				//%%為百分號
				printf("\n\n\n\n\n\n\n\t\t\t\t正在載入數據中...%d%%",i);	
			}
			system("cls");
			printf("\n\n\n\n\n\n\n\t\t\t\t載入數據成功,loding.....\n");
		    break;//跳出for循環
		}
		else 
		{
		    if(i<2)//用戶輸入錯誤不超過2次
		    {
				system("cls");
				printf("\n\n\n\n\n\n\n\n\n\n");
				Sleep(1000);
		        printf("\t:抱歉,您輸入的用戶名或密碼錯誤,請重新輸入!\n");
		    }
			else//用戶3次輸入都錯誤時
			{
				system("cls");
				printf("\n\n\n\n\n\n\n\n\n\n");
				Sleep(1000);
				printf("\t:Sorry,您輸入的用戶名或密碼錯誤次數太多,請休息一會再來!\n");break;
			}
		}
		Sleep(2000);
		//調用dos命令清空控制台屏幕
		system("cls");
    }
}
//菜單函數
void menu()
{
	Sleep(2000);
	//調用dos命令清空控制台屏幕
	system("cls");
	//列印功能菜單界面
   	 Sleep(500);
    	printf("\n\n\t\t\t\t學員管理系統平台\n");
	
	Sleep(500);
	printf("\n\t\t************************************************\n");
	Sleep(500);
	printf("\n\t\t功能菜單:\n\n");
	Sleep(1000);
	
	printf("\t\t 1、錄入單個學員信息      2、顯示所有學員信息\n");
	
	Sleep(1000);
	
	printf("\t\t 3、排序顯示學員信息     4、插入單個學員信息\n");
	
	Sleep(1000);
	
	printf("\t\t 5、刪除單個學員信息     6、查找單個學員信息\n");
	
	Sleep(1000);
	
	printf("\t\t 7、讀取所有學員信息     8、保存所有學員信息\n");
	
	Sleep(1000);
	
	printf("\t\t 9、清空全部學員信息     0、退出學員管理系統\n");
	
}
//錄入函數
void input()
{
	int i;
	char answer;
	
	do
	{
		//錄入學號
	    do
		{
		    printf("學號:");
			scanf("%d",&stu[n].NO);
		    // 判斷輸入格式是否有錯
			while(stu[n].NO<=0 || stu[n].NO>50)
			{
				printf("\t:輸入格式有誤,請重新輸入!\n");
			    fflush(stdin);  //判斷輸入其它字元(如:a,b,aa,skd...)時報錯
				printf("學號:");
				scanf("%d",&stu[n].NO);
			}
			//循環遍歷輸入的學號是否重復
		    for(i=0;i<n;i++)
			{
			    if(stu[i].NO==stu[n].NO)
				{
				    printf("\t:學號重復,請重新輸入!\n");
					break;
				}
			}
		}while(i<n);
        //錄入姓名
		do
		{
		    printf("姓名:");
			scanf("%s",stu[n].name);
			//判斷輸入時姓名是否為空
            while(strlen(stu[n].name)==0)
			{
			    printf("\t:姓名不能為空,請重新輸入!\n");
				printf("姓名:");
				scanf("%s",stu[n].name);
			}
            // 判斷輸入時姓名是否含有數字
			for(i=0;i<strlen(stu[n].name);i++)  
	        {
		        if(stu[n].name[i]>='0'&&stu[n].name[i]<='9')
		        {
		            printf("提示:姓名不能含有數字,請重新輸入!\n");
			        break;
		        }
	        }
		}while(i<strlen(stu[n].name));
		//錄入性別
		do
		{
			printf("性別");
			scanf("%s",stu[n].sex);
		}while(i<strlen(stu[n].sex));
			
		//錄入專業
		do
		{
			printf("專業");
			scanf("%s",stu[n].subject);
		}while(i<strlen(stu[n].subject));
		
		//錄入聯系電話
		do
		{
			printf("電話號碼");
			scanf("%s",&stu[n].phone);
		}while(i<strlen(stu[n].phone));
		
		//錄入簡歷
		do
		{
			printf("簡歷\n");
			scanf("%s",stu[n].jianli);
		}while(i<strlen(stu[n].jianli);			
        	n++;//實際的人數自加一次
		//判斷輸入成績的實際人數是否超出已定內存空間
		if(n<N)
		{
		    printf("是否繼續錄入?(y/n):");
		    fflush(stdin);//清空緩存
		    scanf("%c",&answer);
		}
		else
		{
		    printf("實際人數超出已定存儲空間的內存,程序終止!\n");
			break;
		}
	}while(answer=='Y' || answer=='y');
}
//顯示函數
void display()
{ 
	//列印表頭
	printf("********************************************************************************\n");
	printf("學號\t姓名\t性別\t專業\n");
	printf("********************************************************************************\n");
	//循環列印學員信息
	for(int i=0;i<n;i++)
	{
		printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].NO,stu[i].name,stu[i].sex,stu[i].subject);
		printf("********************************************************************************\n");
    	}
	printf("\n聯系電話\n");
	for(int i=0;i<n;i++)
	{
		printf("%d\n",stu[i].phone);
		printf("********************************************************************************\n");
	}
	printf("\n學歷\n");
	for(int i=0;i<n;i++)
	{
		printf("%s",stu[i].jianli);
		printf("********************************************************************************\n");
	}
}
//排序函數
void sort()
{
	STU temp;//定義臨時變數
	int i,j;
	//冒泡排序
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(stu[j].avg<stu[j+1].avg)
			{
				temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;
			}
		}
	}
}
//插入函數
void insert()
{
	int i,j;//定義循環變數
	STU newStu;//定義實行插入功能時輸入的類型
	char answer;
	printf("單個學員信息的循環插入:\n");
	do
	{
		do
		{
			printf("學號:");
			scanf("%d",&newStu.NO);
			// 判斷輸入格式是否有錯
			while(newStu.NO<=0 || newStu.NO>50)
			{
				printf("\t:輸入格式有誤,請重新輸入!\n");
				fflush(stdin);  //判斷輸入其它字元(如:a,b,aa,skd...)時報錯
				printf("學號:");
				scanf("%d",&newStu.NO);
			}
			//循環遍歷輸入的學號是否重復
			for(i=0;i<n;i++)
			{
				if(stu[i].NO==newStu.NO)
				{
					printf("\t:學號重復,請重新輸入!\n");
					break;
				}
			}
		}while(i<n);
		do
		{
			printf("姓名:");
			scanf("%s",&newStu.name);
			//判斷輸入時姓名是否為空
			while(strlen(newStu.name)==0)
			{
				printf("\t:姓名不能為空,請重新輸入!\n");
				printf("姓名:");
				scanf("%s",newStu.name);
			}
			// 判斷輸入時姓名是否含有數字
			for(i=0;i<strlen(newStu.name);i++)
			{
				if(newStu.name[i]>='0' && newStu.name[i]<='9')
				{
					printf("提示:姓名不能含有數字,請重新正確輸入!\n");
					break;
				}
			}
		}while(i<strlen(newStu.name));
n++;//實際的人數自加一次
		sort();//調用排序函數
		//循環遍歷找位置
		for(i=0;i<n;i++)
		{
			if(newStu.avg>stu[i].avg)
			{
				j=i;
				break;
			}
		}
		//移位
		for(i=n;i>j;i--)
		{
			stu[i]=stu[i-1];
		}
		stu[j]=newStu;//將newStu插入到j的位置
		
		//判斷插入的實際人數是否超出已定內存空間
		if(n<N)
		{
			printf("是否繼續插入?(y/n):");
			fflush(stdin);//清空緩存
			scanf("%c",&answer);
		}
		else
		{
			printf("實際人數超出已定存儲空間的內存,程序終止!\n");
			break;
		}
	}while(answer=='Y' || answer=='y');
}
	//刪除函數
	void remove()
	{
	int i,j,no;
	char answer;
	do
	{
		printf("請輸入要刪除學員的學號:");
		scanf("%d",&no);
		//循環遍歷找位置
		for(i=0;i<n;i++)
		{
			if(no==stu[i].NO)
			{
				j=i;
				break;
			}
		}
		//移位
		if(i<n)
		{
			for(i=j;i<n-1;i++)
			{
				stu[i]=stu[i+1];
			}
			n--;//實際人數自減一個
			printf("\n\n系統在第%d個位置找到了學號為%d的學員!\n",j+1,no);
		}
		else
		{
			printf("沒有找到您要刪除的學員學號,請重新選擇功能!\n");
		}
        //判斷是否已經沒有可以刪除的人數
		if(n>0)
		{
			printf("是否繼續刪除?(y/n):");
			fflush(stdin);//清空緩存
			scanf("%c",&answer);
		}
		else
		{
			printf("已經沒有可以刪除的人數了,程序終止!\n");
			break;
	    }
	}while(answer=='Y' || answer=='y');
}
//查找函數
void search()
{
	int i,no;
	char answer;
	printf("請輸入您要查找學員的學號:");
	scanf("%d",&no);
   
	do
	{
		 //循環遍歷找位置
		for(i=0;i<n;i++)
		{
			if(stu[i].NO==no)
			{
				break;
			}
		}
		if(i<n)
		{
			printf("\n\n系統在第%d個位置找到了學號為%d的學員!\n",i+1,no);
			printf("該學員的信息如下:\n");
			printf("********************************************************************************\n");
			printf("學號\t姓名\t成績一\t成績二\t成績三\t平均分\t總分\n");
			printf("********************************************************************************\n");
			printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].NO,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg,stu[i].sum);
			printf("********************************************************************************\n");
		}
		else
		{
			printf("\n提示:對不起,沒有找到學號為%d的學員\n",no);
		}
		//判斷是否繼續查詢
		printf("是否繼續查詢?(y/n):");
		fflush(stdin);//清空緩存
		scanf("%c",&answer);
	}while(answer=='Y' || answer=='y');
}
//讀取函數
int read()
{  
    FILE *fp;//定義文件指針變數
	fp=fopen("e:\\xueyuanguanlixitong.txt","rt");
	int n=fread(stu,sizeof(STU),N,fp);
	return n;
	
}
//保存函數
void save()
{   
	FILE *fp;//定義文件指針變數
	fp=fopen("e:\\xueyuanguanlixitong.txt","wb");
	fwrite(stu,sizeof(STU),n,fp);
	fclose(fp);
	printf("已保存在:e:\\xueyuanguanlixitong.txt\n");
	printf("\n\n\n\n\n\t\t\t\t保存成功!O(∩_∩)O~\n");
}
//主函數
void main()
{  
	login();//調用登錄函數
	int choice,i;//定義用戶選擇變數
	do
	{
		//顯示菜單
		menu();
		printf("\n\t請選擇:");
		scanf("%d",&choice);    //接受用戶選擇
		switch(choice)
		{
			case 1:             
				  system("cls");  //清屏
				  printf("\n單個學員信息的循環錄入\n");
				  input();
				  display();
				  system("pause");
				  break;
			case 2:            
				  system("cls");
				  display();
				  system("pause");  //暫停一下程序
				  break;
			case 3:            
				  system("cls");
				  if(n==0)
				  {
					printf("\t\t學員個數為0,無法排序,請先錄入!\n");
					system("pause");
					break;
				  }
				  else
				  {
					sort(); ;//調用排序函數
					system("pause");
					break;
				  }
			case 4:
				  system("cls");
				  insert();     //調用插入函數
				  system("pause");
				  break;
			case 5:
				  system("cls");
				  remove();        //調用刪除函數
				  system("pause");
				  break;
			case 6:
				  system("cls");
				  search();        //調用查找函數
				  system("pause");
				  break;
			case 7:
				  system("cls");
				  n=read();    //調用讀取函數
				  printf("讀取成功!\n");
				  system("pause");
				  break;
			case 8:
				  system("cls");
				  save();       //調用保存函數
				  system("pause");
				  break;
			case 9:
				  system("cls");   
				  n=0;            //清空學員個數
				  printf("清空完成!\n");
				  system("pause");
				  break;
			case 0:             //退出程序
				  system("cls");
				  for(i=5;i>=0;i--)
				  {
					Sleep(1000);
					system("cls");
					printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t請稍等,還有%d秒推出程序!\n\n\n",i);
				  }
				  system("cls");
				  printf("\n\n\n\n\n\n你已經成功退出程序\n\t\t謝謝使用,歡迎再次登錄!\n");
				  exit(0);
				  break;
			default:
				  system("cls");
				  printf("\n\n\n\n\n\t\t請選擇0-9之間的數!\n");
				  system("pause");
	    }
  }while(1);
}
❹ c語言怎麼編寫學生信息
#include "stdio.h"
#include <stdlib.h>
#define SIZE 10
struct   student{
   char  id[20];
   char  sex[10];
   int   age;
   int   score[3];
   float average;
} stud[SIZE];
void input()  /* 輸入學生的信息 */
{
  int i;
  
  for(i=0;i<SIZE;i++)
   { 
    printf("第%d個學生的信息:\n",i+1);
      scanf("%s%s%d%d%d%d",stud[i].id,stud[i].sex,&stud[i].age,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
    stud[i].average=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0;
    }    
}
void output()  /* 輸出學生的信息 */
{
  int i;
  
  printf("\n");
  for(i=0;i<SIZE;i++)
    printf("%s %s %d %d %d %d %3.1f\n",stud[i].id,stud[i].sex,stud[i].age,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].average);
}
void sortput()  /* 排序輸出學生信息 */
{
 int i,j;
 struct student temp;
 
 for(i=0;i<SIZE;i++)
 {
    for(j=0;j<SIZE-i-1;j++)
    {
         if(stud[j].average<stud[j+1].average)
         {
            temp=stud[j];
            stud[j]=stud[j+1];
            stud[j+1]=temp;
          }
    }
 }
   printf("\n");
   for(i=0;i<SIZE;i++)
      printf("%s %s %d %d %d %d %3.1f\n",stud[i].id,stud[i].sex,stud[i].age,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].average);
}
void main()
{
   input();
   output();
   sortput();
}
❺ c語言用鏈表添加學生信息
#include<stdio.h>
#include<string.h>
#include"stdlib.h"
#defineLENsizeof(structstu)
structstu
{
longnum;
charname[20];
charsex;
intage;
charaddr[30];
structstu*next;
};
intmain()
{
intn;
structstu*head;
structstu*p1,*p2;
head=(structstu*)malloc(LEN);
head->next=NULL;
p1=head;
p2=(structstu*)malloc(LEN);
p2->next=NULL;
printf("學號 姓名 性別 年齡 住址 ");
scanf("%ld, %s, %c, %d, %s",&p2->num,&p2->name,&p2->sex,&p2->age,&p2->addr);
while(p2->num!=0)
{
p1->next=p2;
p1=p2;
fflush(stdin);
p2=(structstu*)malloc(LEN);
printf("學號 姓名 性別 年齡 住址 ");
scanf("%ld,%s,%c,%d,%s",&p2->num,&p2->name,&p2->sex,&p2->age,&p2->addr);
}
}
純手打,希望採納。
❻ 如何用c語言添加學生信息
構造一個關於學生信息的數據類型 
如:
struct studengt_type
{
int number;  //學號
char *name; //姓名
char sex; //性別
int score; // 入學成績
}
❼ 求用C語言怎麼實現學生信息錄入功能
* 1。根據學生信息定義一個結構體類型,再說明一個該結構體類型的數組。*/
struct stu_info{      
       char stuNo[10];/* No */      
       char stuName[30];/* Name */      
       float stuScore[3];/* the three scores */     
       float aveScore; /* average score */       
       float totalScore; /* total score */    
}stu[10];
/*  2。用input函數從鍵盤上輸入10個學生的數據。 */
void  input()
{      int i = 0;     
       printf("Input the students' infomation(FORMAT LIKE:No Name score1 score2 score3):\n");      
       while(i < 10)
       {    printf("Input %d:",i + 1);      
            scanf("%s%s%f%f%f",stu[i].stuNo,stu[i].stuName,&stu[i].stuScore[0],&stu[i].stuScore[1],&stu[i].stuScore[2]);         
            i++;    
       }   
}
❽ 用C語言知識如何去做學生基本信息系統,插入學生信息,刪除學生信息,按照學號進行查詢
使用結構體+單鏈表   
或者使用 結構體+數組的形式。
定一個一個表示學生的結構體,類似:
struct studentstr
{
     int stuNo;
     char name[20];
     int  age;
     int sex;
};
然後,使用數組或單鏈表來存儲你所輸入的信息後,就可以進行相關的操作了。
❾ c語言學生管理系統中的增加學生信息
#include<iostream.h> 
#include<iomanip.h>
#include<windows.h>
#include <conio.h> 
void back();//返回開始菜單
void out();//輸出信息
int w=1; //用於記錄學生人數,全局變數
class Data//日期類
{public:
    double Year,Month,Day;
    Data()
    {  Year=0;Month=0;Day=0;   }
};
class student //學生類
{
public: 
char name[10]; //姓名
char sex[5]; //性別
char jiguan[10]; //籍貫
int num,age;//學號,年齡
char adr[30];//住址
Data year;
friend class Data;//date作為student的友元                                 //定義一個日期類
void operator=(student s); //=重載
int operator == (student s);//==重載
}stu[100]; 
void main() 
{
system("cls");//清屏 DOC調用
system("color f4"); //顏色 同樣是調用doc
int i;
void comp(); 
void input(); 
void find();
void alt() ;
void del(); 
void exit();
void show();
cout<<setw(53)<<"歡迎進入學生管理系統!"<<endl; 
cout<<setw(55)<<"1 添加學生信息 2 查詢學生信息"<<endl<<endl; 
cout<<setw(55)<<"3 刪除學生信息 4 修改學生信息"<<endl<<endl; 
cout<<setw(55)<<"5 比較學生信息 6 顯示學生信息"<<endl<<endl;
cout<<setw(45)<<"0 推出系統"<<endl;
cout<<"請選擇:"; 
cin>>i;
if(i>6||i<0) 
{
    cout<<"輸入有誤!"<<endl;
    back();
} 
switch(i)
{ 
case 1:input();break; 
case 2:find();break; 
case 3:del();break; 
case 4:alt();break;
case 5:comp();break;
case 6:show();break;
case 0:exit();break;
default:cout<<"你的輸入有誤!\n"; 
}
} 
void input() //添加學生
{
system("color 84"); //顏色 同樣是調用doc
system("cls");//清屏
int n; 
cout<<"請輸入要添加的學生個數:\n"; 
cin>>n;
if(n>=100||n<=0) 
{cout<<"輸入有誤!<<endl";
main(); }
else
{ 
for(;n>0;w++,n--) 
    {
     cout<<"請輸入姓名、性別、籍貫,年齡,學號,住址:"<<endl; 
     cin>>stu[w].name>>stu[w].sex>>stu[w].jiguan>>stu[w].age >>stu[w].num>>stu[w].adr ; 
     cout<<"請輸入該生生日(年 月 日)"<<endl;
     cin>>stu[w].year.Year;
     cin>>stu[w].year.Month;
     cin>>stu[w].year.Day;
    } 
   out();
}
  cout<<"添加完畢2秒後返回"<<endl;
  Sleep(2000); //延時2秒 
  main();
} 
void find() //按學號查找學生
{
system("color f4"); //顏色 同樣是調用doc
system("cls");
int i,id,j=0;//j是用以記錄是否有信息被找到 
cout<<"請輸入你要查找學生的學號:"; 
cin>>id;
for(i=1;i<w;i++)
if(stu[i].num ==id) 
{
    cout<<i<<"   "<<stu[i].name<<" "<<stu[i].sex<<" "<<stu[i].jiguan<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<stu[i].adr<<endl;
    j++;
}
if(j==0)
cout<<"沒有你要查找的信息";
back();
} 
void del()//刪除指定學號學生信息 
{
system("color f4"); //顏色 同樣是調用doc
int i,a,y=0;
char x;
cout<<"請輸入要刪除的學生學號"; 
cin>>a;
for(i=1;i<w;i++)
  if(stu[i].num==a)
  {
     cout<<"該生情況:"<<endl;
    cout<<i<<"   "<<stu[i].name<<"   "<<stu[i].sex<<"    "<<stu[i].jiguan<<"   "<<stu[i].age<<"   "<<stu[i].num<<"  "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<"   "<<stu[i].adr<<endl;
    cout<<"是否確認刪除?(Y/N)"<<endl;
    cin>>x;
    if(x=='Y'||x=='y')
    {
    y++;
    for(;i<w-1;i++) 
    stu[i]=stu[i+1];
    w--;//每刪除一個對總是減少一個
    }
  }
❿ 求C語言代碼:如何添加,刪除,修改文件中的學生信息記錄
樓主解壓運行下看看是不是你要的!是的話我就把代碼貼上來!
