?? huamingce.cpp
字號:
#include "stdio.h" /*I/O函數*/
#include "stdlib.h" /*標準庫函數*/
#include "string.h"/*字符串函數*/
#include "ctype.h" /*字符操作函數*/
#define M 50 /*定義常數表示記錄數*/
struct studant_list /*定義數據結構*/
{
char xingming[20]; /*姓名*/
char banji[30]; /*班級*/
char xuehao[15]; /*學號*/
}students;
int cai_dan();
int enter(students t[]);
void search(students t[]);
void list(students t[],int n);
void save(students t[],int n);
void delete_student(students *L,long xuehao);
/*主函數*/
int main (void)
{
int i;
int length;
clrscr();
for(;;)
{
switch(cai_dan()){
case 1:add();break;
case 2:reseach();break;
case 3:changge();break;
case 4:list();break;
case 5:Delete();break;
case 0:exit(0);
}
}
return 0;
}
cai_dan() /*菜單函數*/
{
char x[100];
int y;
printf("按任意鍵繼續!\n");
getch();
clrscr();
printf("班級花名冊,請選擇:\n");
printf(" 1: 添加記錄");
printf(" 2: 查找記錄");
printf(" 3: 修改記錄");
printf(" 4: 顯示全部記錄");
printf(" 5: 刪除記錄");
printf(" 0: 退出");
do{
scanf("%s",&x);
y=atois(x);
printf("輸入無效,請重新選擇!\n");
printf("班級花名冊,請選擇:\n");
printf(" 1: 添加記錄");
printf(" 2: 查找記錄");
printf(" 3: 修改記錄");
printf(" 4: 顯示全部記錄");
printf(" 5: 刪除記錄");
printf(" 0: 退出");
}while(y<0||y>5);
return y;
}
/***添加記錄記錄,形參為結構體數組,函數值返回類型為整型表示記錄長度*/
int enter(students t[])
{
int i,n;
char xingming,banji,xuehao;
printf("\nplease input num \n");
scanf("%d",&n); /*輸入記錄數*/
printf("請輸入新同學的姓名:"); /*提示輸入記錄*/
scanf("%s",list[i].xingming);
printf("請輸入新同學的班級:");
scanf("%s",list[i].banji);
printf("請輸入新同學的學號:");
scanf("%s",list[i].xuehao);
save(studant_list[],int n)={studant_list[],n}
return n; /*返回記錄條數*/
}
/*查找記錄*/
void search(students t[])
{
char xingming;
char banji;
char xuehao/*保存待查找姓名字符串*/
int i;/*保存查找到結點的序號*/
for(i=0;i<n;i++);
if(scrcmp(xuehao,studant_list[i].xuehao)!=0){
printf("not found\n");
else
printf("姓名:%s\t,list[i].xingming");
printf("班級:%s\t,list[i].banji");
printf("學號:%s\t,list[i].xuehao");
}
return 0;
}
/*顯示全部*/
void list(students t[],int n)
{
FILE*fp;
int gets[100];
int banji[100];
long num[12];
if((fp=fopen("d:\\students.txt","a"))==NULL){
printf("File open error!\n");
}
else
printf("姓名 班級 學號\n");
while(!feof(fp))
{
fscanf(fp,"%s%s%d",&gets,&banji,&num);
printf("%s %s %ld\n",gets,banji,num);
};
if(fclose(fp)){
printf("Can not close the file!\n");
}
}
/*儲存記錄*/
void save(students t[],int n)
{
struct stu{
char name[20];
int num;
int age;
char sex[20];
}students[50],*pp;
pp=students;
int i;
FILE*fp;
if((fp=fopen("d:\\students.txt","a"))==NULL){
printf("Can't open the file!");
exit(0);
}
for(i=0;i<50;i++,pp++)
scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->sex);
fwrite(pp,sizeof(struct stu),50,fp);
rewind(fp);
fclose(fp);
return 0;
}
/*刪除*/
void delete_student(students *L,long xuehao)
{
int flag = 0;
students * p = L,*q = p->next;
while(q) {
if(q->number == xuehao) {
flag = 1;
q = q->next;
break;
}
else{
p = q;
q = q->next;
/*下一個結點*/
}
}
if(flag == 0)
printf("刪除學生失敗,不存在這個學號的學生\n");
else{
printf("刪除學生成功! \n ");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -