c課程設計開始界面
Ⅰ 用C語言寫字元界面的飛機訂票系統(課程設計),想在主界面上弄一個好看的界面。怎樣弄
直接輸出puts("字元串");或者("字元串");
要多行輸出時記得加\
例如
printf(" \
\
, \
_/(( \
_.---. .' `\ \
.' ` ^ T= \
/ \ .--' \
| / )'-. \
; , <__..-( '-.) \
\ \-.__) ``--._) \
'.'-.__.-. \
'-...-'?);
右邊的\表示換行輸出是格式控制符。但是你要控制好每行輸出字元個數否則圖案每行位置很難對齊
Ⅱ C語言課程設計的界面應該使用哪些函數
以下是graphics.h中的聲明,常用的都比較好懂,實在不行就查查MSDN吧,上面有好多名字類似的函數功能都一樣.
void far _Cdecl arc(int x, int y, int stangle, int endangle,
int radius);
void far _Cdecl bar(int left, int top, int right, int bottom);
void far _Cdecl bar3d(int left, int top, int right, int bottom,
int depth, int topflag);
void far _Cdecl circle(int x, int y, int radius);
void far _Cdecl cleardevice(void);
void far _Cdecl clearviewport(void);
void far _Cdecl closegraph(void);
void far _Cdecl detectgraph(int far *graphdriver,int far *graphmode);
void far _Cdecl drawpoly(int numpoints, int far *polypoints);
void far _Cdecl ellipse(int x, int y, int stangle, int endangle,
int xradius, int yradius);
void far _Cdecl fillellipse( int x, int y, int xradius, int yradius );
void far _Cdecl fillpoly(int numpoints, int far *polypoints);
void far _Cdecl floodfill(int x, int y, int border);
void far _Cdecl getarccoords(struct arccoordstype far *arccoords);
void far _Cdecl getaspectratio(int far *xasp, int far *yasp);
int far _Cdecl getbkcolor(void);
int far _Cdecl getcolor(void);
struct palettetype * far _Cdecl getdefaultpalette( void );
char * far _Cdecl getdrivername( void );
void far _Cdecl getfillpattern(char far *pattern);
void far _Cdecl getfillsettings(struct fillsettingstype far *fillinfo);
int far _Cdecl getgraphmode(void);
void far _Cdecl getimage(int left, int top, int right, int bottom,
void far *bitmap);
void far _Cdecl getlinesettings(struct linesettingstype far *lineinfo);
int far _Cdecl getmaxcolor(void);
int far _Cdecl getmaxmode(void);
int far _Cdecl getmaxx(void);
int far _Cdecl getmaxy(void);
char * far _Cdecl getmodename( int mode_number );
void far _Cdecl getmoderange(int graphdriver, int far *lomode,
int far *himode);
unsigned far _Cdecl getpixel(int x, int y);
void far _Cdecl getpalette(struct palettetype far *palette);
int far _Cdecl getpalettesize( void );
void far _Cdecl gettextsettings(struct textsettingstype far *texttypeinfo);
void far _Cdecl getviewsettings(struct viewporttype far *viewport);
int far _Cdecl getx(void);
int far _Cdecl gety(void);
void far _Cdecl graphdefaults(void);
char * far _Cdecl grapherrormsg(int errorcode);
void far _Cdecl _graphfreemem(void far *ptr, unsigned size);
void far * far _Cdecl _graphgetmem(unsigned size);
int far _Cdecl graphresult(void);
unsigned far _Cdecl imagesize(int left, int top, int right, int bottom);
void far _Cdecl initgraph(int far *graphdriver,
int far *graphmode,
char far *pathtodriver);
int far _Cdecl installuserdriver( char far *name, int huge (*detect)(void) );
int far _Cdecl installuserfont( char far *name );
void far _Cdecl line(int x1, int y1, int x2, int y2);
void far _Cdecl linerel(int dx, int dy);
void far _Cdecl lineto(int x, int y);
void far _Cdecl moverel(int dx, int dy);
void far _Cdecl moveto(int x, int y);
void far _Cdecl outtext(char far *textstring);
void far _Cdecl outtextxy(int x, int y, char far *textstring);
void far _Cdecl pieslice(int x, int y, int stangle, int endangle,
int radius);
void far _Cdecl putimage(int left, int top, void far *bitmap, int op);
void far _Cdecl putpixel(int x, int y, int color);
void far _Cdecl rectangle(int left, int top, int right, int bottom);
void far _Cdecl restorecrtmode(void);
void far _Cdecl sector( int X, int Y, int StAngle, int EndAngle,
int XRadius, int YRadius );
void far _Cdecl setactivepage(int page);
void far _Cdecl setallpalette(struct palettetype far *palette);
void far _Cdecl setaspectratio( int xasp, int yasp );
void far _Cdecl setbkcolor(int color);
void far _Cdecl setcolor(int color);
void far _Cdecl setfillpattern(char far *upattern, int color);
void far _Cdecl setfillstyle(int pattern, int color);
unsigned far _Cdecl setgraphbufsize(unsigned bufsize);
void far _Cdecl setgraphmode(int mode);
void far _Cdecl setlinestyle(int linestyle, unsigned upattern,
int thickness);
void far _Cdecl setpalette(int colornum, int color);
void far _Cdecl setrgbpalette(int colornum,
int red, int green, int blue);
void far _Cdecl settextjustify(int horiz, int vert);
void far _Cdecl settextstyle(int font, int direction, int charsize);
void far _Cdecl setusercharsize(int multx, int divx,
int multy, int divy);
void far _Cdecl setviewport(int left, int top, int right, int bottom,
int clip);
void far _Cdecl setvisualpage(int page);
void far _Cdecl setwritemode( int mode );
int far _Cdecl textheight(char far *textstring);
int far _Cdecl textwidth(char far *textstring);
/***** graphics drivers *****/
int _Cdecl registerbgidriver(void (*driver)(void));
int far _Cdecl registerfarbgidriver(void far *driver);
/* !! These "functions" are NOT user-callable !! */
/* !! They are there just so you can link in graphics drivers !! */
void _Cdecl CGA_driver(void);
void _Cdecl EGAVGA_driver(void);
void _Cdecl IBM8514_driver(void);
void _Cdecl Herc_driver(void);
void _Cdecl ATT_driver(void);
void _Cdecl PC3270_driver(void);
extern int far _Cdecl CGA_driver_far[];
extern int far _Cdecl EGAVGA_driver_far[];
extern int far _Cdecl IBM8514_driver_far[];
extern int far _Cdecl Herc_driver_far[];
extern int far _Cdecl ATT_driver_far[];
extern int far _Cdecl PC3270_driver_far[];
/***** graphics fonts *****/
int _Cdecl registerbgifont(void (*font)(void));
int far _Cdecl registerfarbgifont(void far *font);
/* !! These "functions" are NOT user-callable, !! */
/* !! they are there just so you can link in fonts !! */
void _Cdecl triplex_font(void);
void _Cdecl small_font(void);
void _Cdecl sansserif_font(void);
void _Cdecl gothic_font(void);
extern int far _Cdecl triplex_font_far[];
extern int far _Cdecl small_font_far[];
extern int far _Cdecl sansserif_font_far[];
extern int far _Cdecl gothic_font_far[];
Ⅲ 高分求作一個c語言編程的操作界面
C語言課程設計報告—班級成績管理系統
需要分析:
學生成績管理系統有13種功能。把這13個功能做成13個子函數。在主函當數中設計一個菜單對這13個子數進行管理。來實現對整個系統的操作。
根據課題的要求。每一個學生的包括姓名(char)、學號(char)、M門課程的成績(float).再加上系統功能上的要求每一學生的信息還要總分和名次等。所以自然的想到要用結構體來定義每一個學生的信息結構。然後用鏈表把它們組成一個有序的整體。用對鏈表的操作來實現對所有學生信息的統一管理(成績顯示、成績排序、成績修改等)。最後為了以後按照處理後的順序保存到文件中。
. 各函數的功能:
概要設計:
程序的模塊組成:
主 函 數: int main()
新建函數:STUDENT *init()
輸入函數 :STUDENT *create()
顯示函數: void print(STUDENT *head)
刪除函數: STUDENT *delete(STUDENT *head)
按名字尋找函數: void lookup(STUDENT *head)
保存函數: void save(STUDENT *head)
按總分排序函數: STUDENT *sort(STUDENT *head)
計算總分和均分函數: void computer(STUDENT *h)
修改函數: STUDENT *Modify(STUDENT *head,STUDENT *new)
按學號排序函數: STUDENT *index(STUDENT *h)
菜單函數:int menu_select()
各個函數的主要功能:
輸入函數: 隨時輸入數據。
菜單函數:顯示系統主菜單。
顯示函數: 顯示所有學生的信息。
尋找函數: 方便學生查找自己的成績。
刪除函數: 刪除某學生的信息。
排序函數: 按總成績排序。
按學號排序函數: 按學號排序。
插入函數: 可以插入新的信息。
保存函數: 保存好學生成績,以免丟失。
統計函數:
l 顯示每門課程成績最高的學生的基本信息。
l 顯示每門課程的平均成績。
l 顯示超過某門課程平均成績的學生人數。
課題的功能模塊的劃分:
開始
菜單界面
功能選擇
初始化函數
輸入學生信息
刪除學生信息
顯示學生信息
查找學生信息
按成績排序
保存到文件
從文件讀數據
插入學生成績
分類合計
退出系統
結束
詳細設計: 整個系統除了主函數外,另外還有14個函數,實現八大功能:輸入功能、顯示功能、查找功能、排序功能、插入功能、保存功能、讀取功能。各個函數的詳細設計說明分別如下:
主函數 main()
利用無限次循環for(;;)和swithch()實現各函數的調用,系統根據輸入的數字選項來調用相應的函數。
菜單選擇函數 int menu_select()
這是一個無參函數,主要實現「功能選擇」的界面,在這個界面里有顯示系統的九大功能,根據每個功能前面的序號進行選擇。等執行完每一個函數功能後,返回菜單。
代碼設計: 初始化函數 STUDENT *init()
這是一個無參函數,裡面只有兩個語句,它的作用是使鏈表初始化,使head的值為NULL和一個清屏語句。比如:沒有這個函數的話,在你沒有輸入任何數據的情況下,去執行顯示功能的時候會顯示一些亂碼!
輸入記錄函數 STUDENT *create() 這是一個無參函數,用來執行學生成績記錄的輸入,當學生為@時停止輸入,函數結束後,帶回一個鏈表頭的指針指向一下個學生的信息插在表頭。
N-S流程圖如下:
head=NULL無條件循環
指針p指向新開辟的單元
指針p是否為空
是 否
輸入學號p->num
輸出 p->num是否為@
內存 是 否
溢出 輸入姓名p->name
停止 for(i=0;i<3;i++)
輸入 輸入成績
返回 p->sum=s;
菜單 p->average=(float)s/3;
顯示記錄函數 void print(STUDENT *head)
這是一個不返回值的有參函數,形參為「鏈表頭的指針」,負責對全部學生成績記錄的輸出,不足之處就是不能對學生成績進行分頁顯示。
演算法:先將p結點的指針指向第一個結點,將p結點(即第一個結點)的數據輸出。然後再將p結點的指針指向p指針的的指針(即下一結點),將p結點(即第一結點)的數據輸出。重復執行此步聚直到p指針指向NULL為止。
N-S流程圖如下:
p=head,使指向第一個結點
輸出p所指向的結點
p指向一下個結點
當p指的不是表尾
程序調試:
由於本課題中的許多知識點都沒有學過都要靠自己到課外的資料中去查找。在用的時候難免出現這樣那樣的錯誤。如開始設計出來的菜單不是預想的那樣,而是總個窗中出現混亂。解決的這個問題的辦法是調整。最後還是老師幫我幫我們找到了問題的所在——for 循環的次超過了鏈表中結點的數量。再就是自定義函數時由於課本的概念不清楚,多寫了空格鍵,以至函數調用不出來。又如:在設計修改學生信息時的密密碼時。當用戶發現輸入密碼錯誤按了退格鍵後,因為「*」並沒有消去。導致用戶再次按退格鍵,又出現前面的情況。最終導致輸入密碼錯誤。所以用了兩次退格鍵:
在對鏈表操作時,要特別鏈表指針的移動(p=p->next)和鏈表尾的判斷 (p= =NULL)。沒有指針的移動,就很容易出現死循環。而在運行過程中不能控制。所以你就會認為是死機。如果沒有鏈表尾的判斷。就會在運行過程出現想不到的錯誤。如:在顯示鏈表信息時,後面就會出現亂碼。
一個系統的菜單和提示信息非常重要。如果沒有這些用戶根本不知道怎麼用你設計的這個系統。在設計的調試過程中也無法順利的完成調試工作。有了一個清晰簡單的菜單和一些提示信息這後,調試過程完成的非常順利。
予我耐心解答的老師和同學,是他們為我小程序的成功起到了關鍵性的作用,那麼多個日夜,如此多的困難,同學們勤懇塌實,從開始到結束,沒有顯出一點倦意,始終熱情高漲,我感謝這種氛圍,感謝學校提供的良好條件。
回顧起此次課程設計,至今我仍感慨頗多,的確,從拿到題目到完成整個編程,從理論到實踐,在整整半個學期的日子裡,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體……通過這次課程設計之後,一定把以前所學過的知識重新溫故。
本次課程設計結束了,對於我的影響很大。我通過這次實踐學到了許多知識。學到了設計一個簡單的系統。要注意哪些方面。也使我知道自己哪些方面做得還不夠。
但我出總結出了一點點的經驗如下:
1、要對系統的功能和要求做出詳細的分析,並合理分解任務。
2、把分解出來的子任務,做給一個相對獨立的模塊。
3、在設計一個模塊之前,要簡單構想一下總界面的顯視情況。
4、針對構想出來的界面進行程序的編寫。
最後,感謝老師您對我的指導和從百忙中抽空看我的設計,謝謝!
附件:
源程序:
#include "stdio.h" /*I/O函數*/
#include "stdlib.h" /*其它說明*/
#include "string.h" /*字元串函數*/
#include "conio.h" /*屏幕操作函數*/
#include "mem.h" /*內存操作函數*/
#include "ctype.h" /*字元操作函數*/
#include "alloc.h" /*動態地址分配函數*/
#include "dos.h"
#define N 4 /*定義常數*/
typedef struct z1 /*定義數據結構*/
{
char no[12];
char name[20];
int score[N];
float sum;
float average;
int order;
struct z1 *next;
}STUDENT;
/*以下是函數原型*/
STUDENT *init(); /*初始化函數*/
STUDENT *create(); /*創建鏈表*/
STUDENT *delete(STUDENT *h); /*刪除記錄*/
void print(STUDENT *h); /* 顯示所有記錄*/
void lookup(STUDENT *h); /*查找*/
void save(STUDENT *h); /*保存*/
STUDENT *load(); /*讀入記錄*/
void computer(STUDENT *h); /*計算總分和均分*/
STUDENT *Modify(STUDENT *h); /*修改記錄*/
void append(); /*追加記錄*/
STUDENT *sort(STUDENT *h); /*按總分排序*/
STUDENT *index(STUDENT *h); /*按學號排序*/
int menu_select(); /*菜單函數*/
/******主函數開始*******/
main()
{
int i;
STUDENT *head; /*鏈表定義頭指針*/
printf("\n\n\n\n\n\n\n\n\n");
printf(" * * ******* * ***** ***** * * ******* \n");
printf(" * * * * * * * ** * * * \n");
printf(" * * * * ******* * * * * * *** * ******* \n" );
printf(" * * * * * * * * * * * * * \n");
printf(" * * ******* ******* ***** * *** * * * ******* \n");
printf("\n");
printf("\n");
printf("\n");
sleep(2);
head=init(); /*初始化鏈表*/
clrscr(); /*清屏*/
for(;;) /*無限循環*/
{
switch(menu_select()) /*調用主菜單函數,返回值整數作開關語句的條件*/
{ /*值不同,執行的函數不同,break 不能省略*/
case 0:head=init();break; /*執行初始化*/
case 1:head=create();break; /*創建鏈表*/
case 2:print(head);break; /*顯示全部記錄*/
case 3:head=delete(head);break; /*刪除記錄*/
case 4:lookup(head);break; /*按名字查找記錄*/
case 5:save(head);break; /*保存文件*/
case 6:head=load(); break; /*讀文件*/
case 7:computer(head);break; /*計算總分和均分*/
case 8:head=Modify(head); break; /*修改記錄,一般會插在表尾*/
case 9:head=sort(head);break; /*按部分排序*/
case 10:append();break; /*追加記錄*/
case 11:head=index(head);break; /*按學號排序*/
case 12: exit(0); /*如菜單返回值為14程序結束*/
}
}
}
/*菜單函數,返回值為整數*/
menu_select()
{
char *menu[]={"***************MENU***************", /*定義菜單字元串數組*/
" 00. init list", /*初始化*/
" 01. Enter list", /*輸入記錄*/
" 02. print list ", /*顯示單鏈表中所有記錄*/
" 03. Delete a record from list", /*從表中刪除記錄*/
" 04. Search record on name", /*按照姓名查找記錄*/
" 05. Save the file", /*將單鏈表中記錄保存到文件中*/
" 06. Load the file", /*從文件中讀入記錄*/
" 07. compute the score", /*計算所有學生的總分和均分*/
" 08. Modify an information ", /*修改某學號的信息*/
" 09. sort to make new file", /*排序*/
" 10. append record to file", /*追加記錄到文件中*/
" 11. index on nomber", /*按學號排序*/
" 12. Quit"}; /*退出*/
char s[3]; /*以字元形式保存選擇號*/
int c,i; /*定義整形變數*/
gotoxy(1,1); /*移動游標*/
textcolor(YELLOW); /*設置文本顯示顏色為黃色*/
textbackground(BLUE); /*設置背景顏色為藍色*/
gotoxy(10,2); /*移動游標*/
putch(0xc9); /*輸出左上角邊框┏*/
for(i=1;i<44;i++)
putch(0xcd); /*輸出上邊框水平線*/
putch(0xbb); /*輸出右上角邊框 ┓*/
for(i=3;i<20;i++)
{
gotoxy(10,i);putch(0xba); /*輸出左垂直線*/
gotoxy(54,i);putch(0xba);
} /*輸出右垂直線*/
gotoxy(10,20);putch(0xc8); /*輸出左上角邊框┗*/
for(i=1;i<44;i++)
putch(0xcd); /*輸出下邊框水平線*/
putch(0xbc); /*輸出右下角邊框┛*/
window(11,3,53,19); /* 製作顯示菜單的窗口,大小根據菜單條數設計*/
clrscr(); /*清屏*/
for(i=0;i<16;i++) /*輸出主菜單數組*/
{
gotoxy(10,i+1);
cprintf("%s",menu[i]);
}
textbackground(BLACK); /*設置背景顏色為黑色*/
window(1,1,80,25); /*恢復原窗口大小*/
gotoxy(10,21); /*移動游標*/
do{printf("\n make by wenwei");
printf("\n Enter you choice(0~13):"); /*在菜單窗口外顯示提示信息*/
scanf("%s",s); /*輸入選擇項*/
c=atoi(s); /*將輸入的字元串轉化為整形數*/
}while(c<0||c>14); /*選擇項不在0~14之間重輸*/
return c; /*返回選擇項,主程序根據該數調用相應的函數*/
}
STUDENT *init()
{ clrscr();
return NULL;
}
/*創建鏈表*/
STUDENT *create()
{
int i; int s;
STUDENT *h=NULL,*info; /* STUDENT指向結構體的指針*/
clrscr();
for(;;)
{
info=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/
if(!info) /*如果指針info為空*/
{
printf("\nout of memory"); /*輸出內存溢出*/
return NULL; /*返回空指針*/
}
inputs("enter no:",info->no,11); /*輸入學號並校驗*/
if(info->no[0]=='@') { clrscr();break; } /*如果學號首字元為@則結束輸入,清屏後返回*/
inputs("enter name:",info->name,15); /*輸入姓名,並進行校驗*/
printf("please input %d score \n",N); /*提示開始輸入成績*/
s=0; /*計算每個學生的總分,初值為0*/
for(i=0;i<N;i++) /*N門課程循環N次*/
{
do{
printf("score%d:",i+1); /*提示輸入第幾門課程*/
scanf("%d",&info->score[i]); /*輸入成績*/
if(info->score[i]>100||info->score[i]<0) /*確保成績在0~100之間*/
printf("bad data,repeat input\n"); /*出錯提示信息*/
}while(info->score[i]>100||info->score[i]<0);
s=s+info->score[i]; /*累加各門課程成績*/
}
info->sum=s; /*將總分保存*/
info->average=(float)s/N; /*求出平均值*/
info->order=0; /*未排序前此值為0*/
info->next=h; /*將頭結點做為新輸入結點的後繼結點*/
h=info; /*新輸入結點為新的頭結點*/
clrscr();
}
return(h); /*返回頭指針*/
}
/*輸入字元串,並進行長度驗證*/
inputs(char *prompt, char *s, int count)
{
char p[255];
do{
printf(prompt); /*顯示提示信息*/
scanf("%s",p); /*輸入字元串*/
if(strlen(p)>count)printf("\n too long! \n"); /*進行長度校驗,超過count值重輸入*/
}while(strlen(p)>count);
strcpy(s,p); /*將輸入的字元串拷貝到字元串s中*/
}
/*輸出鏈表中結點信息*/
void print(STUDENT *h)
{
int i=0; /* 統計記錄條數*/
STUDENT *p; /*移動指針*/
clrscr(); /*清屏*/
p=h; /*初值為頭指針*/
printf("\n\n\n*********************************STUDENT************************************\n");
printf("|rec|nO | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");
printf("|---|----------|---------------|----|----|----|----|--------|--------|-----|\n");
while(p!=NULL) /*只要p不是尾結點,就輸出記錄*/
{
i++;
printf("|%3d|%-10s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6.2f | %3d |\n", i, p->no,p->name,p->score[0],p->score[1],p->score[2],p->score[3],p->sum,p->average,p->order);
p=p->next;
}
printf("***********************************end**************************************\n");
getch(); /*輸入任一鍵返回主菜單*/
clrscr(); /*清屏*/
}
/*刪除記錄*/
STUDENT *delete(STUDENT *h)
{
STUDENT *p,*q; /*p為查找到要刪除的結點指針,q為其前驅指針*/
char s[12]; /*存放學號*/
char *pass="wenwei28";
char a[20],b=NULL;
int i=0;
clrscr();
printf("Input your password:");
while((i<20)&&(b!='\r'))
{ b=getch(); /*無回顯輸入*/
if(b==8)
{ if(i>0)
{a[--i]=NULL;
putchar(8); /*退格鍵*/
putchar(' '); /*以空格代替*/
putchar(8);
}
else putchar(7); /*沒有任何字元的退格,響鈴警告*/
}
else if(b!='\r')
{ a[i++]=b; /*只要不是退格和回車就接受*/
putchar('*');
}
else
{a[i]=NULL; break; /*密碼輸入完了,記得加個NULL到後面*/
}
}
if(strcmp(a,pass)!=0)
{clrscr();
printf("Password is mistake Tow seconds to return!");
sleep(2);clrscr();return h;
}
else {printf("Password is OK! Welcome to come!"); sleep(3);
}
clrscr(); /*清屏*/
printf("please deleted no\n"); /*顯示提示信息*/
scanf("%s",s); /*輸入要刪除記錄的學號*/
q=p=h; /*給q和p賦初值頭指針*/
while(strcmp(p->no,s)&&p!=NULL) /*當記錄的學號不是要找的,或指針不為空時*/
{
q=p; /*將p指針值賦給q作為p的前驅指針*/
p=p->next; /*將p指針指向下一條記錄*/
}
if(p==NULL) /*如果p為空,說明鏈表中沒有該結點*/
{ printf("\nlist no %s student\n",s);sleep(2);clrscr();return h;}
else /*p不為空,顯示找到的記錄信息*/
{
printf("*********************************have found********************************\n");
printf("|no | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");
printf("|------------|---------------|----|----|----|----|--------|--------|-----|\n");
printf("|%-12s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6-5.2f | %3d |\n", p->no,
p->name,p->score[0],p->score[1],p->score[ q=p; /*保存當前結點的指針,作為下一結點的前驅*/
p=p->next; /*指針後移,新讀入數據鏈到當前表尾*/
}
q->next=NULL; /*最後一個結點的後繼指針為空*/
fclose(fp); /*關閉文件*/
printf("---You have success read data from file!!!---\n");
getch(); /*按任意鍵返回主菜單*/
clrscr();
return h; /*返回頭指針*/
}
/*成績統計*/
void computer(STUDENT *h)
{
STUDENT *p,*t,*q; /*定義移動指針*/
float saverage[N]={0}; /*均分初值為0*/
int i;
clrscr();
for (i=0;i<N;i++)
{ int n=0,j=0; /*保存記錄條數初值為0*/
long s=0; /*總分初值為0*/
p=h; /*從頭指針開始*/
while(p!=NULL) /*當p不為空時處理*/
{
s+=p->score[i]; /*累加總分*/
j++; /*統計記錄條數*/
p=p->next; /*指針後移*/
h; /*返回頭指針
來源: http://..com/question/87150638.html?si=6
Ⅳ C語言課程設計:採用菜單界面 建議使用結構和鏈表等數據結構 模塊化程序設計 2選1,幫幫忙
給你做的是第一個題目,由於水平有限,寫的代碼有點亂,但是絕對是可以運行的!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define NAME_MAX 100//書的名字的最長字數
#define WRITER_MAX 100//作者名字的最長
#define PUB_MAX 100//出版單位最長名字
#define TIME 100//出版時間
typedef struct books
{
int loading;
char name[NAME_MAX];
char writer[WRITER_MAX];
int identify;
char pub[PUB_MAX];
char time[TIME];
int price;
struct books * next;
}book;
//頭結點不存儲信息
void Init(book * head)
{
head->next=NULL;
}
//列印一些歡迎詞之類的。。。。。
void welcome()
{
printf("******歡迎使用章強圖書館,哈哈*********\n");
printf("\n\n");
printf("1:圖書信息錄入功能\n");
printf("2:圖書信息瀏覽功能,顯示該書的所有信息\n");
printf("3:圖書信息查詢功能:按書名查詢與按作者名查詢\n");
printf("4:圖書信息的修改和刪除,可對相應數據進行修改和刪除\n");
}
//顯示一本書的信息
void print_the_book(book * p1)
{
printf("loading number:%d \n",p1->loading);
printf("name: ");
puts(p1->name);
printf(" \n");
printf("writer: ");
puts(p1->writer);
printf(" \n");
printf("identify:%d \n",p1->identify);
printf(" \n");
printf("pub: ");
puts(p1->pub);
printf(" \n");
printf("time: ");
puts(p1->time);
printf(" \n");
printf("price:%d \n",p1->price);
}
int chongfu(book * head,book * p)
{
book * p1=head->next;
int a=0;
while(p1!=NULL)
{
if(strcmp(p1->name,p->name)==0)
{
if(strcmp(p1->writer,p->writer)==0)
{
a=1;
break;
}
}
else
p1=p1->next;
}
return a;
}
//錄入一些信息。。。。
void luru(book * head)
{
book * p1=head;
book * p2;
//尋找NULL前的那個點
while(p1->next!=NULL)
{
p1=p1->next;
}
int a;
do
{
p2=(book *)malloc(sizeof(book));
printf("輸入書本信息\n");
printf("登錄號\n");
fflush(stdin);
scanf("%d",&p2->loading);
printf("書名\n");
fflush(stdin);
gets(p2->name);
fflush(stdin);
printf("作者\n");
gets(p2->writer);
fflush(stdin);
printf("分類號\n");
scanf("%d",&p2->identify);
fflush(stdin);
printf("出版社\n");
gets(p2->pub);
fflush(stdin);
printf("出版時間\n");
gets(p2->time);
fflush(stdin);
printf("價格\n");
scanf("%d",&p2->price);
p2->next=NULL;
fflush(stdin);
//加入鏈表
if(chongfu(head,p2))
printf("錄入信息重復\n");
else
{
p1->next=p2;
p1=p2;
}
printf("還想繼續錄入信息嗎?\n(1:繼續 0:停止)\n");
scanf("%d",&a);
}while(a==1);
}
void liulan(book * head)
{
book * p1=head->next;
int i=1;
while(p1!=NULL)
{
printf("*********第%d本書***********\n",i++);
print_the_book(p1);
p1=p1->next;
}
}
//查詢。。。。
void chaxun(book * head)
{
printf("按書名查詢還是按作者名查詢?\n(1:按書名查詢 0:按作者名查詢)\n");
book * p=head->next;
int a;
fflush(stdin);
scanf("%d",&a);
int num=0;
char cha[NAME_MAX];
switch(a)
{
case 1:
printf("輸入書名:\n");
fflush(stdin);
gets(cha);
while(p!=NULL)
{
if(strcmp(p->name,cha)==0)
{
num++;
print_the_book(p);
}
p=p->next;
}
break;
case 0:
printf("輸入作者名:\n");
fflush(stdin);
gets(cha);
while(p!=NULL)
{
if(strcmp(p->writer,cha)==0)
{
num++;
print_the_book(p);
}
p=p->next;
}
}
if(num==0)
printf("無符合書本\n");
}
//修改信息
void xiugai(book * head)
{
printf("輸入需要修改書本的名稱和作者:\n");
char name_book[NAME_MAX];
char writer_book[WRITER_MAX];
printf("書本名稱:");
fflush(stdin);
gets(name_book);
fflush(stdin);
printf("書本作者;\n");
gets(writer_book);
book * p1=head->next;
int a=0;
while(p1!=NULL)
{
if(strcmp(p1->name,name_book)==0)
{
if(strcmp(p1->writer,writer_book)==0)
{
a=1;
break;
}
}
p1=p1->next;
}
if(a==0)
printf("沒有這本書。。。\n");
else
{
print_the_book(p1);
printf("輸入新信息\n");
fflush(stdin);
printf("登錄號\n");
scanf("%d",&p1->loading);
printf("書名\n");
fflush(stdin);
gets(p1->name);
fflush(stdin);
printf("作者\n");
gets(p1->writer);
fflush(stdin);
printf("分類號\n");
scanf("%d",&p1->identify);
fflush(stdin);
printf("出版社\n");
gets(p1->pub);
fflush(stdin);
printf("出版時間\n");
gets(p1->time);
fflush(stdin);
printf("價格\n");
scanf("%d",&p1->price);
p1->next=NULL;
}
}
void main()
{
book * head;
head=(book *)malloc(sizeof(book));
Init(head);
int contin=1;
while(contin)
{
welcome();
printf("想進行哪項操作?\n");
int a;
scanf("%d",&a);
switch(a)
{
case 1:
luru(head);
break;
case 2:
liulan(head);
break;
case 3:
chaxun(head);
break;
case 4:
xiugai(head);
}
printf("繼續使用圖書館還是退出?\n(1:continue 0:exit)\n");
scanf("%d",&contin);
}
}
Ⅳ C語言課程設計的歡迎界面 我做了願程序,現在需要添加歡迎界面 做成我發的圖的樣式 不會弄 求幫忙
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<windows.h>
#definepi3.14
intcc;
intwelcome0(void)
{
printf(" ");
printf(" ~*************歡迎進入經典演算法系統*************~ ");
printf(" ");
printf(" ~*************製作者:小路2013年6月*************~ ");
printf(" ");
printf(" ~*************按任意鍵進入主菜單*************~");
while(getchar()==0);
system("CLS");
return0;
}
intmain_menu(void)
{
intflag=0;
system("CLS");
printf(" ");
printf(" ~***************************************~ ");
printf(" ");
printf(" 主菜單 ");
printf(" ");
printf(" ~***************************************~ ");
printf(" 1,是長方形 ");
printf(" 2,是正方形 ");
printf(" 3,是三角形 ");
printf(" 4,是圓形 ");
printf(" 0,退出系統 ");
printf(" 請選擇輸入選項[0/1/2/3/4]:");
scanf("%d",&cc);
while(flag==0)
{
if((cc==0)||(cc==1)||(cc==2)||(cc==3)||(cc==4))
{
flag=1;
}else
{
system("CLS");
printf(" ");
printf(" 1,是長方形 ");
printf(" 2,是正方形 ");
printf(" 3,是三角形 ");
printf(" 4,是圓形 ");
printf(" 0,退出系統 ");
printf(" 請選擇輸入選項[0/1/2/3/4]:");
fflush(stdin);
scanf("%d",&cc);
}
}
}
floatcfxmj(floata,floatb)
{
floatarea;
area=a*b;
returnarea;
}
floatzfxmj(floata)
{
floatarea;
area=a*a;
returnarea;
}
floatsjxmj(floata,floatb,floatc)
{
floatarea,s;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
returnarea;
}
floatarc(floatr)
{
floats;
s=pi*r*r;
returns;
}
voidmain()
{
floata,b,c,r;
welcome0();
while(1)
{
main_menu();
switch(cc)
{
case1:
fflush(stdin);
printf("輸入長方形的長和寬:");
scanf("%f%f",&a,&b);
printf("長方形面積為:%f ",cfxmj(a,b));
break;
case2:
fflush(stdin);
printf("輸入正方形的邊長:");
scanf("%f",&a);
printf("正方形面積為:%f ",zfxmj(a));
break;
case3:
fflush(stdin);
printf("輸入三角形的三條邊:");
scanf("%f%f%f",&a,&b,&c);
printf("三角形面積為:%f ",sjxmj(a,b,c));
break;
case4:
fflush(stdin);
printf("輸入圓的半徑:");
scanf("%f",&r);
printf("圓的面積為:%f ",arc(r));
break;
case0:
return;
break;
}
system("pause");
}
}
Ⅵ 窗口菜單顯示 ,C語言課程設計
TurboC 式 窗口菜單 下拉菜單,Alt 激活,ESC返回,有信息框
執行項放入 函數 Act 調用專就行屬
tc 2.0, 3.0, wintc 均通過
http://dsa6.fileflyer.com/d/85330220-c91a-45fa-b1aa-bc72c0e770d7/wS0k/4XCYAAv/TMENU.c.rar
Ⅶ C語言課程設計修改 急!!!!
主要是你的菜單嵌套問題,具體需要找。。。我。
例如:
int n;
while(scanf("%d",&n) !=EOF)
{
//菜單顯示
//根據n執行對應函數
//在函數中執行相同菜單工作
}
Ⅷ C語言課程設計界面如何製作
界面?? 你問的是課程設計的格式吧?? 要有封皮要有 課程設計的名稱 姓名 學好 班級 組別專等等…… 第1頁是目錄 之後要有課屬程設計的題目 問題 演算法 流程圖 程序代碼 實驗結果 問題及討論 參考資料等
Ⅸ c語言課程設計
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
long class_1; //班級
long number; //學號
char name[20]; //姓名
float math; //數學
float c_program; //C語言
float physics; //大學物理
float english; //大學英語
float polity; //政治
float sport; //體育
float summary; //總分
float average; //平均分
}Student;
Student stud[100]; //定義結構體數組變數的大小
int i=0; //i用於記錄輸入的學生的個數
int menu() //菜單函數
{
int a;
printf("***********************學生信息管理系統*************************\n");
//菜單選擇
printf("\t\t【1】輸入學生信息\n");
printf("\t\t【2】顯示所有學生的信息\n");
printf("\t\t【3】按平均分升降排序\n");
printf("\t\t【4】根據學生的學號查找學生的信息\n");
printf("\t\t【5】插入學生的信息\n");
printf("\t\t【6】刪除學生的信息\n");
printf("\t\t【7】修改學生的信息\n");
printf("\t\t【8】從文件中讀入數據\n");
printf("\t\t【9】將所有記錄寫入文件\n");
printf("\t\t【0】退出本系統\n");
printf("***********************學生信息管理系統*************************\n");
printf("請選擇你要的操作【0-9】:");
scanf("%d",&a); //讀入一個數
while(a<0 || a>9)
{
printf("輸入錯誤!請重新輸入。\n");
scanf("%d",&a); //輸入錯誤就一直循環!^_^
}
system("cls"); //清屏
return(a); //返回a的值
}
int input(Student stud[]) //輸入學生信息
{
char flag='Y';
while(flag=='y' || flag=='Y') //判斷
{
printf("請輸入該學生的班別:"); //交互輸入學生信息
scanf("%ld",&stud[i].class_1);
printf("請輸入該學生的學號:");
scanf("%ld",&stud[i].number);
printf("請輸入該學生的姓名:");
scanf("%s",&stud[i].name);
printf("請輸入該學生的「數學」分數:");
scanf("%f",&stud[i].math);
printf("請輸入該學生的「C程序設計語言」分數:");
scanf("%f",&stud[i].c_program);
printf("請輸入該學生的「大學物理」分數:");
scanf("%f",&stud[i].physics);
printf("請輸入該學生的「大學英語」分數:");
scanf("%f",&stud[i].english);
printf("請輸入該學生的「體育」分數:");
scanf("%f",&stud[i].sport);
printf("請輸入該學生的「政治」分數:");
scanf("%f",&stud[i].polity);
getchar(); //用於消除回車鍵
stud[i].summary=stud[i].math+stud[i].c_program+stud[i]. physics
+stud[i].english+stud[i].sport+stud[i].polity;
stud[i].average=stud[i].summary/6;
printf("該學生的總分為:%6.2f\t平均分為:%6.2f\n",stud[i].summary,stud[i].average);
i++;
printf("繼續輸入學生信息請按:Y or y,退出請按:N or n.\n");
scanf("%c",&flag); //判斷是否繼續輸入
}
printf("按任意鍵回主菜單\n");
getchar();
system("cls");
return(i);
}
void Display(Student stud[],int n) //顯示所有記錄
{
int k;
if(n==0)
printf("暫無學生記錄!\n");
else
{
printf(" 班別 學號 姓名 數學 C語言 物理 英語 體育 政治 總分 平均分\n");
for(k=0;k<n;k++) //循環輸出
{
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sport);
printf("%7.2f",stud[k].polity);
printf("%7.2f",stud[k].summary);
printf("%8.2f\n",stud[k].average);
}
}
system("pause");
system("cls");
}
void Sort(Student stud[],int i) //按平均分排序
{
int m,n,k; //m,n為循環變數
Student t;
for(m=0;m<i-1;m++) //排序
for(n=m+1;n<i;n++)
if(stud[m].average<stud[n].average)
{
t=stud[m];
stud[m]=stud[n];
stud[n]=t;
}
printf("排序後的順序為:\n");
printf(" 班別 學號 姓名 數學 C語言 物理 英語 體育 政治 總分 平均分\n");
for(k=0;k<i;k++) //循環輸出
{
printf("%7ld",stud[k].class_1);
printf("%7d",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sport);
printf("%7.2f",stud[k].polity);
printf("%7.2f",stud[k].summary);
printf("%8.2f\n",stud[k].average);
}
system("pause");
system("cls");
}
void Search(Student stud[],int i) //查找並顯示一個記錄
{
int p,k; //p為要查找的學生學號,t為循環節,s用來判斷循環是否結束
char flag='y';
while(flag=='y' || flag=='Y')
{
printf("請輸入要查找的學生學號:");
scanf("%d",&p);
getchar();
for(k=0;p!=stud[k].number && k<i;k++);
if(k==i)printf("該學號不存在!\n");
else {
printf("該學生的信息為:\n");
printf(" 班別 學號 姓名 數學 C語言 物理 英語 體育 政治 總分 平均分\n");
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sport);
printf("%7.2f",stud[k].polity);
printf("%7.2f",stud[k].summary);
printf("%8.2f\n",stud[k].average);
}
printf("繼續查找學生信息請輸入:Y or y,退出輸入:N or n\n");
scanf("%c",&flag); //判斷是否繼續輸入
}
system("cls");
}
int Insert(Student stud[],int i) //插入學生的信息
{
char flag='Y';
while(flag=='y' || flag=='Y')
{
printf("請輸入要插入學生的班別:"); //交互輸入學生信息
scanf("%ld",&stud[i].class_1);
printf("請輸入要插入學生的學號:");
scanf("%ld",&stud[i].number);
printf("請輸入要插入學生的姓名:");
scanf("%s",&stud[i].name);
printf("請輸入要插入學生的「數學」分數:");
scanf("%f",&stud[i].math);
printf("請輸入要插入學生的「C程序設計語言」分數:");
scanf("%f",&stud[i].c_program);
printf("請輸入要插入學生的「大學物理」分數:");
scanf("%f",&stud[i].physics);
printf("請輸入要插入學生的「大學英語」分數:");
scanf("%f",&stud[i].english);
printf("請輸入要插入學生的「體育」分數:");
scanf("%f",&stud[i].sport);
printf("請輸入要插入學生的「政治」分數:");
scanf("%f",&stud[i].polity);
getchar();
stud[i].summary=stud[i].math+stud[i].c_program+stud[i]. physics
+stud[i].english+stud[i].sport+stud[i].polity;
stud[i].average=stud[i].summary/6;
printf("該學生的總分為:%6.2f\n",stud[i].summary);
printf("該學生的平均分為:%6.2f\n",stud[i].average);
i++;
printf("繼續輸入學生信息請輸入:Y or y,退出輸入:N or n\n");
scanf("%c",&flag); //判斷是否繼續輸入
}
getchar();
printf("是否需要排序,需要請按『Y』或『y』;不需要請按『N』或『n』.\n");
flag=getchar();
if(flag=='y' || flag=='Y')Sort(stud,i);
system("cls");
return(i);
}
int Delete(Student stud[],int i) //根據輸入的學號刪除學生的信息
{
long s;
int t,p;
char a='Y'; //判斷循環是否繼續
while(a=='y' || a=='Y')
{
printf("請輸入需要刪除學生的學號:\n"); //採用互動式刪除
scanf("%ld",&s);
getchar(); //消除回車鍵的影響
for(t=0;t<i && s!=stud[t].number;t++);
if(s==stud[t].number)
{
for(p=t;p<i;p++)
stud[p]=stud[p+1];
i=i-1;
printf("刪除成功!\n");
}
else printf("沒有找到要刪除的學號!\n");
printf("是否繼續刪除,繼續請按'Y'或'y',退出請按'N'或'n'.\n");
a=getchar(); //判斷是否繼續
getchar(); //消除回車鍵的影響
}
system("cls");
return(i);
}
void change(Student stud[],int i) //修改學生的信息
{
long p=0; //p用來表示要刪除的學生的學號
int k; //k為循環變數
char a='y';
while(a=='y' || a=='Y')
{
printf("\t\t學生信息修改:\n");
printf("請輸入要修改的學生的學號:\n");
scanf("%ld",&p);
for(k=0;p!=stud[k].number && k<i;k++);
if(k==i)printf("無法找到該學生的信息\n");
else {
printf("該學生的信息為:\n");
printf(" 班別 學號 姓名 數學 C語言 物理 英語 體育 政治 總分 平均分\n");
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sport);
printf("%7.2f",stud[k].polity);
printf("%7.2f",stud[k].summary);
printf("%8.2f\n",stud[k].average);
printf("請輸入該學生的新信息:\n");
printf("請輸入該學生的班級:"); //交互輸入學生信息
scanf("%d",&stud[k].class_1);
printf("請輸入該學生的學號:");
scanf("%d",&stud[k].number);
printf("請輸入該學生的姓名:");
scanf("%s",&stud[k].name);
printf("請輸入該學生的「數學」分數:");
scanf("%f",&stud[k].math);
printf("請輸入該學生的「C程序設計語言」分數:");
scanf("%f",&stud[k].c_program);
printf("請輸入該學生的「大學物理」分數:");
scanf("%f",&stud[k].physics);
printf("請輸入該學生的「大學英語」分數:");
scanf("%f",&stud[k].english);
printf("請輸入該學生的「體育」分數:");
scanf("%f",&stud[k].sport);
printf("請輸入該學生的「政治」分數:");
scanf("%f",&stud[k].polity);
getchar();
stud[k].summary=stud[k].math+stud[k].c_program+stud[k]. physics
+stud[k].english+stud[k].sport+stud[k].polity;
stud[k].average=stud[k].summary/6;
printf("修改成功!\n");
}
printf("是否繼續修改,繼續請按'Y'或'y',退出請按'N'或'n'.\n");
a=getchar(); //判斷是否繼續
}
system("pause");
system("cls");
}
int Read(Student stud[],int i) //從文件中讀入學生信息
{
int k=i;
FILE *fp; //定義一個文件類型的指針
char filename[20]; //定義文件名
printf("請輸入文件名:\n");
scanf("%s",&filename); //輸入文件名
if((fp=fopen(filename,"rb"))==NULL) //打開文件
{
printf("無法打開該文件!\n"); //打開失敗信息
return 0;
}
printf("從文件%s中讀入的數據為:\n",filename);
printf(" 班別 學號 姓名 數學 C語言 物理 英語 體育 政治 總分 平均分\n");
while(!feof(fp))
{
fread(&stud[k],sizeof(Student),1,fp);
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sport);
printf("%7.2f",stud[k].polity);
printf("%7.2f",stud[k].summary);
printf("%8.2f\n",stud[k].average);
k++;
}
fclose(fp);
printf("讀入成功,\n");
system("pause");
system("cls");
return(k);
}
void Save(Student stud[],int i) //將所有記錄寫入文件
{
int k=0;
FILE *fp; //定義文件指針
char filename[20]; //定義文件名
printf("請輸入你要存儲學生信息的文件名:"); //輸入文件名
scanf("%s",&filename);
if((fp=fopen(filename,"wb"))==NULL) //打開文件
{
printf("無法打開該文件!\n"); //打開失敗信息
return;
}
printf("保存到文件%s里的信息為:\n",filename);
while(k<i)
{
fwrite(&stud[k],sizeof(Student),1,fp);
printf("%7ld",stud[k].class_1);
printf("%7d",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sport);
printf("%7.2f",stud[k].polity);
printf("%7.2f",stud[k].summary);
printf("%8.2f\n",stud[k].average);
k++;
}
fclose(fp);
printf("信息保存成功,");
system("pause");
system("cls");
}
int main() //主函數
{
int n=0;
while(1)
{
switch(menu()) //選擇判斷要執行的語句
{
case 1:
printf("\n*******輸入學生信息*******\n");
//輸入學生信息
n=input(stud);break;
case 2:
printf("\n*******顯示所有學生的信息*******\n");
//顯示所有學生的信息
Display(stud,n);break;
case 3:
printf("\n*******按平均分升降排序*******\n");
//給學生成績排序
Sort(stud,n);break;
case 4:
printf("\n*******根據學生的學號查找學生的信息*******\n");
//根據輸入的學號查找學生的信息
Search(stud,n);break;
case 5:
printf("\n*******插入學生的信息*******\n");
//插入學生的信息
n=Insert(stud,n);break;
case 6:
printf("\n*******刪除學生的信息*******\n");
//刪除學生的信息
n=Delete(stud,n);break;
case 7:
printf("\n*******修改學生的信息*******\n");
//修改學生的信息
change(stud,n);break;
case 8:
printf("\n*******從文件中讀入數據*******\n");
//從文件中讀入數據
n=Read(stud,n);break;
case 9:
printf("\n*******將所有記錄寫入文件*******\n");
//將所有記錄寫入文件
Save(stud,n);break;
case 0:
printf("\n*******感謝您的使用*******\n");
//結束程序
exit(0);
}
}
return 0;
}