當前位置:首頁 » 編程語言 » c語言課程設計100
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言課程設計100

發布時間: 2022-09-27 09:31:18

c語言課程設計

#include <stdio.h>
main()
{
char x,y;
printf("%c",x);
scanf("%c",&x);
printf("%c",y);
scanf("%c",&y);
printf("%c",x&&y);
}

你只要在運行畫面出現printf("%c",x);的時候輸入x的值,也就是hello
在運行畫面出現printf("%c",y);的時候輸入y的值,也就是world
就好了 就會出現2個字元連在一起了

❷ C語言課程設計

//我以前的作業

游戲說明
1.開始游戲
1)系統隨機產生一位不重復的N位數字。N的大小與等級有關。
初級:N=3 中級:N=4 高級:N=5
2)游戲者輸入所猜的不重復數字,並按回車提交。提交的數據
數應與N的大小一致,當數據位數大於N時,只取前N位。
3)系統將提交的數與它自動產生的數進行比較,輸出結果「*A*B」形式。其中A代表數字正確相應位置也正確,B代表數字正確但位置不正確。如:1A3B表示游戲者有1個數字的位置正確且數值也正確,除此以外,游戲者還猜對了3個數字,但位置不對,即游戲者已經猜出4位數據,但有3個數據位置不對!
4)游戲者有限定次數的猜測機會,在規定次數內完成,則游戲成功,否則,游戲失敗。其中,猜測次數與等級有關:
初級:10次 中級:9次 高級:8次。
5)按完成游戲所用的時間和次數計算游戲者所得分數,游戲等級越高,猜測所用的次數越少,得分越高!若游戲者得分比系統已經保存的分數的高,將提示要求輸入游戲者信息,並且保存在最佳排行之中。
2.等級設置
6)游戲者可以自行設置游戲等級:初級,中級和高級。
3.最佳排行
在最佳排行中,游戲者可以查看當前游戲的最佳排行。
4.游戲說明
在游戲說明中,游戲者可以查看游戲規則。

三.總體設計
本課程設計對模塊設計的要求如下:
(1)要求使用多文件方式實現設計;
(2)要求在各個文件內實現結構化設計;
(3)每個模塊作為一個單獨的C文件,每個文件內的函數如表所示,表中給出了各個函數的功能說明。
(4)宏和數據結構等放在頭文件中,並使用條件編譯。
(1)文件及函數組成
源文件 函數名或其他成分 功能
record.h
ASK 宏定義
結構聲明 結構聲明
庫函數及函數原型聲明
game_ control.c Game_rank 設置游戲等級
Game_explain 輸出遊戲說明
game_ register.c Tiptop_record 記錄最高分
Tiptop_output 輸出最佳排行
game.c Game_main 開始游戲中心
Build_number 獲取系統隨機數字
Game_in_out 獲取游戲者數據和輸出結果
Time_command 時間控制
Game_result 游戲結果處理輸出
record.c main 主函數
Menu_select 選擇菜單
manage_menu 處理菜單

(2)函數設計
1.頭部文件
文件名稱:record.h
功 能:聲明函數原型,包含文件及自定義宏和數據結構。
要 求:報告是否能正常打開文件執行操作。
2. 設置游戲等級函數
函數原型:void Game_rank(void)
功 能:可由游戲者自行設置游戲等級
參 數:void
返 回 值:void
要 求:如果游戲者沒有進行等級設定,則默認初級進行游戲。
3. 輸出遊戲說明函數
函數原型:void Game_ explain()
功 能:輸出遊戲規則說明
參 數:void
返 回 值:void
要 求:說明游戲相應的按鍵,保證游戲者按照說明。
4. 記錄最高分函數:
函數原型:void Tiptop_register(int)
功 能:把從Get_player函數得到的游戲者信息和游戲的積分信息一同保存到指定路徑的Tiptop_register.dat文件中
參 數:int S;S為游戲積分
返 回 值:void
要 求:要求把Tiptop1.txt(初級最高分) Tiptop2.txt(中級最高分) Tiptop3.txt(高
級最高分)原來有的信息替換為現在的信息,並且只有積分大於原有信息的第
十名,才會被以替換的方式記錄;並且是降序的方式排列的。
5. 輸出最佳排行函數:
函數原型:void Tiptop_out()
功 能:輸出最佳排行信息
參 數:void
返 回 值:void
要 求:沒有信息的時候輸出提示,有信息時按降序排列輸出全部信息。
6. 開始游戲中心函數
函數原型:void Game_main()
功 能:調用Time_ control 、Build_number等函數,進行游戲的整體控制
參 數:void
返 回 值:void
要 求:注意函數的完整性,保證游戲順利進行,注意沒有設置等級時候,默認C=1!
7. 獲取系統隨機數字函數
函數原型:int *Build_number()
功 能:系統調用<time.h>文件,利用srand((unsigned) time(&)產生1個N位隨機數字,供游戲者猜測
參 數:void
返 回 值:int 8=*i:指向產生的隨機數字構成的數組的指針
要 求:產生的數字是隨機的,並且是不重復的,總共產生N(依據游戲等級而定)位數字,組成數組[初級為3個數字]。
8. 獲取游戲者游戲數據和輸出遊戲進程結果函數
函數原型:void Course_in_out()
功 能:把游戲者猜的數據讀入內存,並且分析得出結果,並輸出結果
參 數:void
返 回 值:void
要 求:用A或B的代碼表示本次的結果,其中A表示數值對位置也對,B表示數值對,但位置錯了!每次得到游戲者的猜測數據都要分析得出結果並輸出結果,以便游戲者的下一次猜測。
9. 時間控制函數
函數原型:int Time_ control()
功 能:利用<dos.h>和<time.h>文件,得到玩游戲的總時間,計算游戲積分。
參 數:void
返 回 值:int Time:游戲前後的時間差異
要 求:得到的時間是以秒為單位,數據是整型數據。
10. 游戲結果處理輸出函數
函數原型:void Game_result(int m )
功 能:計算,得出最後游戲積分
參 數:int m:整個游戲的時間
返 回 值:void
要 求:按照游戲等級,設置不同的游戲積分方式。
11. 主函數:
函數原型:void main()
功 能:調用各個子函數,實現整體程序的運行
參 數:void
返 回 值: void
要 求:控制整個游戲的順利進行。
12. 選擇菜單函數:
函數原型:void Menu_select()
功 能:得到Handle_menu的返回值,由一個switch語句選擇開始,等級,最佳排行,游戲說明,結束等菜單操作。
參 數:void
返 回 值:void
要 求:由Handle_menu得到數據可循環得到,直到得到數字5時,選擇退出菜單,方可退出遊戲,否則一直循環程序!
13. 處理菜單函數:
函數原型:int Handle_menu()
功 能:輸出菜單選擇提示,並由cin語句實現游戲者的輸入,輸入選擇相應菜單對應的菜單序號,並把相應的值傳給Menu_select函數
參 數:void
返 回 值:int n:選擇相應菜單的菜單序號
要 求:輸入的值不是相應的菜單的序號時返回0值,否則返回遊戲者的輸入值,以選擇相應菜單。

四.程序代碼
1. record.h
#include"time.h"
#include<dos.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//結構體
#define MAXSIZE 20
typedef long int ElemType; //定義結構體tiptop,存放游戲者的最高分等信息
typedef struct tiptop
{
ElemType data;
char name[MAXSIZE];
char grade[MAXSIZE];
int year;
int month;
int day;
char week[MAXSIZE];
int hour;
int minute;
int second;
}tiptop;
//全局變數
int C; //C為等級設置變數
//函數聲明
void Menu_select(); //選擇菜單函數
int manage_menu(); //處理菜單函數
void Tiptop_record(int); //記錄最高分函數
void Tiptop_output(); //輸出最佳排行函數
void Game_rank(); //設置游戲等級函數
void Game_explain(); //輸出遊戲說明函數
void Game_main(); //開始游戲中心函數
int *Build_number(); //獲取系統隨機數字函數
void Game_in_out(); //獲取游戲數據和輸出遊戲進程結果函數
int Time_command(); //時間控制函數
void Game_result(int); //游戲結果處理輸出函數

2. game_ control.c
#include"record.h"
//**********************
// 設置游戲等級函數
//**********************
void Game_rank()
{
FILE *fp;
printf("\t******************************\n");
printf("\t************1:初級************\n");
printf("\t************2:中級************\n");
printf("\t************3:高級************\n");
printf("\t******************************\n");
printf("\t請選擇游戲等級:\t");
loop:
scanf("%d",&C);
if(C<1||C>3)
{
printf("\t輸入有誤!請重新輸入:\t");
goto loop;
}
if((fp=fopen("C.txt","w"))==NULL)
{
printf("打開C.txt文件失敗!");
exit(1);
}
fwrite(&C,sizeof(int),1,fp);
fclose(fp);
if(C==1)
printf("\t等級設置為初級!\n");
if(C==2)
printf("\t等級設置為中級!\n");
if(C==3)
printf("\t等級設置為高級!\n");
printf("\n");

}
//****************
//輸出遊戲說明函數
//****************
void Game_explain()
{
printf("游戲說明:\n");
printf("\t**********************************************************\n");
printf("\t**********************************************************\n");
printf("\t①:游戲開始,系統隨機產生一位不重復的N位數字。N的大小與等級\n");
printf("\t有關:\n");
printf("\t初級:N=3\t中級:N=4\t高級:N=5\t\n");
printf("\t②:游戲者輸入所猜的不重復數字,並按回車提交。\n");
printf("\t提交的數據位數應與N的大小一致,當數據位數大於N時,只取前N位;\n");
printf("\t③:系統將提交的數與它自動產生的數進行比較,輸出結果\n");
printf("\t「*A*B」形式。其中A代表數字正確相應位置也正確,B代\n");
printf("\t表數字正確但位置不正確。如:1A3B表示游戲者有1個數字的位置\n");
printf("\t正確且數值也正確,除此以外,游戲者還猜對了3個數字,但位置不\n");
printf("\t對,即游戲者已經猜出4位數據,但有3個數據位置不對!\n");
printf("\t④:游戲者有限定次數的猜測機會,在規定次數內完成,\n");
printf("\t則游戲成功。否則,游戲失敗。其中,猜測次\n");
printf("\t數與等級有關:\n");
printf("\t初級:10次\t中級:9次\t高級:8次。\t\n");
printf("\t⑤:按完成游戲所用的時間和次數計算游戲者所得分數,\n");
printf("\t游戲等級越高,猜測所用的次數越少,得分越高!\n");
printf("\t若游戲者得分比系統已經保存的分數的高,將提示要求\n");
printf("\t輸入游戲者信息,並且保存在最佳排行之中。\n");
printf("\t⑥:游戲者可以自行設置等級!\n");
printf("\t**********************************************************\n");
printf("\t**********************************************************\n");
printf("\n");
}
3. game_ register.c
#include"record.h"
//**************
//記錄最高分函數
//**************
void Tiptop_record(int S)
{
FILE *fp;
tiptop n;
char *week[]={"星期天","星期一","星期二","星期三","星期四","星期五",
"星期六"};
time_t timep;
struct tm *t;
printf("\t恭喜您!\n");
printf("\t您獲得本游戲的最高分!\n");
//獲取名字
printf("\t請輸入您的姓名:");
printf("\t");
scanf("%s",n.name);
//獲取時間
time(&timep);
t=gmtime(&timep);
t->tm_year=1900+t->tm_year;
t->tm_mon=1+t->tm_mon;
t->tm_hour=8+t->tm_hour;
n.year=t->tm_year;
n.month=t->tm_mon;
n.day=t->tm_mday;
strcpy(n.week,week[t->tm_wday]);
n.hour=t->tm_hour;
n.minute=t->tm_min;
n.second=t->tm_sec;
//獲取等級
if(C==1)
strcpy(n.grade,"初級");
if(C==2)
strcpy(n.grade,"中級");
if(C==3)
strcpy(n.grade,"高級");
//獲取分數
n.data=S;
if(C==1)
{
if((fp=fopen("tiptop1.txt","w"))==NULL)
{
printf("\t打開tiptop1.txt文件失敗!");
exit(1);
}
fwrite(&n,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==2)
{
if((fp=fopen("tiptop2.txt","w"))==NULL)
{
printf("\t打開tiptop2.txt文件失敗!");
exit(1);
}
fwrite(&n,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==3)
{
if((fp=fopen("tiptop3.txt","w"))==NULL)
{
printf("\t打開tiptop3.txt文件失敗!");
exit(1);
}
fwrite(&n,sizeof(struct tiptop),1,fp);
fclose(fp);
}
}
//****************
//輸出最佳排行函數
//****************
void Tiptop_output()
{
int i;
FILE *fp;
tiptop p,q,r;
if((fp=fopen("tiptop1.txt","r"))==NULL)
{
printf("還沒有最佳排行!");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop2.txt","r"))==NULL)
{
printf("還沒有最佳排行!");
exit(1);
}
fread(&q,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop3.txt","r"))==NULL)
{
printf("還沒有最佳排行!");
exit(1);
}
fread(&r,sizeof(struct tiptop),1,fp);
fclose(fp);
if(p.data==0&&q.data==0&&r.data==0)
{
printf("\t暫無最高分信息!");
printf("\n");
printf("\t是否直接進入游戲?刷新最佳排行信息?\n");
printf("\t1:是\t2:否\n");
printf("\t");
i=0;
scanf("%d",&i);
if(i==1)
{
printf("\t請設置游戲等級: \n");
Game_rank();
Game_main();
}
else
Menu_select();
}
else
{
printf("\t最佳排行:\n");
printf("\t等級\t姓名\t分數\t游戲時間\n");
if(p.data!=0)
{
printf("\t%s\t%s\t%d\t",p.grade,p.name,p.data);
printf("%d—%d—%d\t",p.year,p.month,p.day);
printf("%s\t%d:%d:%d\n",p.week,p.hour,p.minute,p.second);
}
if(q.data!=0)
{
printf("\t%s\t%s\t%d\t",q.grade,q.name,q.data);
printf("%d—%d—%d\t",q.year,q.month,q.day);
printf("%s\t%d:%d:%d\n",q.week,q.hour,q.minute,q.second);
}
if(r.data!=0)
{
printf("\t%s\t%s\t%d\t",r.grade,r.name,r.data);
printf("%d—%d—%d\t",r.year,r.month,r.day);
printf("%s\t%d:%d:%d\n",r.week,r.hour,r.minute,r.second);
}
if(p.data==0)
printf("\t初級暫無最高分信息!\n");
if(q.data==0)
printf("\t中級暫無最高分信息!\n");
if(r.data==0)
printf("\t高級暫無最高分信息!\n");

//重置最佳排行榜
if(p.data!=0&&q.data!=0&&r.data!=0)
{
printf("\t是否重置最佳排行?\n");
printf("\t1:是\t2:否\t");
i=0;
scanf("%d",&i);
if(i==1)
{
p.data=0;
q.data=0;
r.data=0;
if((fp=fopen("tiptop1.txt","w"))==NULL)
{
printf("打開tiptop1.txt文件失敗!");
exit(1);
}
fwrite(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop2.txt","w"))==NULL)
{
printf("打開tiptop2.txt文件失敗!");
exit(1);
}
fwrite(&q,sizeof(struct tiptop),1,fp);
fclose(fp);
if((fp=fopen("tiptop3.txt","w"))==NULL)
{
printf("打開tiptop3.txt文件失敗!");
exit(1);
}
fwrite(&r,sizeof(struct tiptop),1,fp);
fclose(fp);
}
}
}
}

4.game.c
#include"record.h"

//全局變數
int *c1; //產生的數保存在指針c中
int A,B; // AB均為游戲重要參數
int N; //NUM為需要猜測的數據個數
int TIME; //TIME為猜數字共有的次數
long int S; //S為游戲積分
//****************
//開始游戲中心函數
//****************
void Game_main()
{
FILE *fp;
int time;
if((fp=fopen("C.txt","r"))==NULL)
{
printf("打開C.txt文件失敗!");
printf("\n");
exit(1);
}
fread(&C,sizeof(int),1,fp);
N=C+2;
TIME=11-C;
if(C==1)
{
printf("\t游戲等級為:初級!\n");
}
if(C==2)
{
printf("\t游戲等級為:中級!\n");
}
if(C==3)
{
printf("\t游戲等級為:高級!\n");
}
printf("\t需要猜測的數字位數數為:%d,共有%d次猜測機會!",N,TIME);
printf("\n");
time=Time_command();
Game_result(time);
}
//********************
//獲取系統隨機數字函數
//********************
int *Build_number()
{
int i,j,m;
time_t t;
c1=(int *)malloc(N*sizeof(int));
if(c1==NULL)
{
printf("分配內存錯誤!\n");
printf("\n");
exit(1);
}
srand((unsigned) time(&t));
for(i=0;i<N;i++)
{
m=rand()%10; //產生一個數字
if(i==0)
*c1=m;
else
{
for(j=0;j<i;j++)
{
if(m==*(c1+j)//若原有數據之中已經有了與m相同的數字,則重新產生數字
{
i--;
break;
}
*(c1+i)=m;
}
}
}
printf("\t系統產生的數據為:");
for(i=0;i<N;i++)
printf("*");
printf("\n");
printf("\t您可以開始游戲! 計時開始...\n");
printf("\t不能有重復的數字!\n");
printf("\t數字中間用空格隔開\n");
return c1;
}
//****************************************
//獲取游戲者游戲數據和輸出遊戲進程結果函數
//****************************************
void Game_in_out()
{
int i,j,m;
int n; //游戲者猜測的數字
int a[5]; //游戲者猜測的數據構成的數組
int c[5];
int *p;
p=Build_number();
for(i=0;i<N;i++)
{
c[i]=*(p+i);
}
for(m=0;m<TIME;m++)
{
if(m==(TIME-1))
{
printf("\t**請注意:**\n");
printf("\t**僅剩下一次機會了!**\n");
printf("\t**努力!加油!**\n");
}
printf("\t請輸入第%d次猜測的數字:\t",m+1);
for(j=0;j<N;j++)
{
scanf("%d",&n);
a[j]=n;
}
A=0;
B=0;
for(i=0;i<N;i++)
{
if(a[i]==c[i])
A++;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(a[i]==c[j]&&i!=j)
B++;
}
}
printf("\t您本次猜測的結果為:\t");
printf("%d A %d B",A,B);
printf("\n");
//游戲成功控制退出猜測程序
if(A==N)
{
m=TIME;
}
}

//TIME改變,記錄游戲總次數的數據
TIME=i;
free(c1);
}
//************
//時間控制函數
//************
int Time_command()
{
int a; //游戲時間
time_t first, second;
first=time(NULL); //獲取系統時間
Game_in_out();
second=time(NULL); //再次獲取系統時間
a=(int)difftime(second,first);
return a;
}
//********************
//游戲結果處理輸出函數
//********************
void Game_result(int m)
{
FILE *fp;
tiptop p;
time_t t;
int S;
int n;
int i=0;
int minute,second;
if(A!=N)
{
S=0;
printf("\tGame over!\n");
printf("\t您本次游戲的積分為:\t%d",S);
printf("\t繼續努力!\n");
printf("\t是否繼續游戲?\n");
printf("\t1:是\t\t\t2:否");
printf("\n");
scanf("%d",&i);
if(i==1)
Game_main();
else
Menu_select();
}
else
{
printf("\t恭喜您游戲成功!");
printf("\n");
minute=m/60;
second=m%60;
printf("\t您本次游戲所用時間為:");
printf("%d分鍾%d秒\n",minute,second);
printf("\n");

//積分
if(C==1)
{
n=11-TIME;
S=n*n*n*10-m;
}
if(C==2)
{
n=10-TIME;
S=n*n*n*n*10-m;
}
if(C==3)
{
n=9-TIME;
S=n*n*n*n*n*10-m;
}
if(S<10)
{
srand((unsigned) time(&t));
S=rand()%100;
}
printf("\t您本次游戲的積分為:\t%d",S);
printf("\n");
}
//判斷是否符合最高分條件
if(C==1)
{
if((fp=fopen("tiptop1.txt","r"))==NULL)
{
printf("打開tiptop1.txt文件失敗!");
printf("\n");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==2)
{
if((fp=fopen("tiptop2.txt","r"))==NULL)
{
printf("打開tiptop2.txt文件失敗!");
printf("\n");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(C==3)
{
if((fp=fopen("tiptop3.txt","r"))==NULL)
{
printf("打開tiptop3.txt文件失敗!");
printf("\n");
exit(1);
}
fread(&p,sizeof(struct tiptop),1,fp);
fclose(fp);
}
if(S>=(p.data))
Tiptop_record(S);
//提示跳轉
if(C==1)
{
printf("\t您本次游戲等級是初級,是否要進入中級?\n");
printf("\t1:是\t\t\t2:否");
printf("\n\t");
i=0;
scanf("%d",&i);
if(i==1)
{
C=2;
if((fp=fopen("C.txt","w"))==NULL)
{
printf("打開C.txt文件失敗!");
exit(1);
}
fwrite(&C,sizeof(int),1,fp);
fclose(fp);
Game_main();
}
else
Menu_select();
}
if(C==2)
{
printf("\t您本次是中級游戲,是否要進入高級游戲呢?\n");
printf("\t1:是\t\t\t2:否");
printf("\n\t");
i=0;
scanf("%d",&i);
if(i==1)
{
C=3;
if((fp=fopen("C.txt","w"))==NULL)
{
printf("打開C.txt文件失敗!");
exit(1);
}
fwrite(&C,sizeof(int),1,fp);
fclose(fp);
Game_main();
}
else
Menu_select();
}
}

5.record.c
#include"record.h"
//******
//主函數
//******
void main()
{
printf("\n");
printf("********************************************\n");
printf("********************************************\n");
printf(" 歡迎進入猜數字游戲 \n");
printf("\n");
printf("\t設計者: \n");
printf("********************************************\n");
printf("********************************************\n");
printf("\n");
Menu_select();
}
//************
//選擇菜單函數
//************
void Menu_select()
{
while(1)
{
switch(manage_menu())
{
case 0:
printf("輸入有誤,請重新輸入!\n");
break;
case 1:
Game_main();
break;
case 2:
Game_rank();
break;
case 3:
Tiptop_output();
break;
case 4:
Game_explain();
break;
case 5:
printf("\n");
printf("\n");
printf("*************** ** ** **** ** ** ** ** *** \n");
printf("*************** ** ** ** ** **** ** ** ** ***** \n");
printf(" ** ** ** ** ** ** ** ** ** ** ******* \n");
printf(" ** ** ** ** ** ** ** ** ** ** ******* \n");
printf(" ** *********** ************* ** ** ** **** ***** \n");
printf(" ** *********** ************* ** ** ** **** ***** \n");
printf(" ** ** ** ** ** ** ** ** ** ** ***** \n");
printf(" ** ** ** ** ** ** ** ** ** ** *** \n");
printf(" ** ** ** ** ** ** **** ** ** *** \n");
printf(" ** ** ** ** ** ** ** ** ** *** \n");
printf("\n");
printf("Goodbye!\n");
exit(1);
}
}
}
//************
//處理菜單函數
//************
int manage_menu()
{
int n;
printf("\t**************************\n");
printf("\t**\t1:開始游戲\t**\n");
printf("\t**\t2:等級設置\t**\n");
printf("\t**\t3:最佳排行\t**\n");
printf("\t**\t4:游戲說明\t**\n");
printf("\t**\t5:退出遊戲\t**\n");
printf("\t**************************\n");
printf("\t請輸入相應序號選擇相應菜單:");
printf("\t");
scanf("%d",&n);
printf("\n");
if(n<1||n>5)
n=0;
return n;
}

❸ C語言課程設計 急求! 100懸賞!!多項式計算(用數組儲存)!

#include<stdio.h>
#defineN10
//字元串s按c字元分隔成小字元串t
intsplit(char*s,chart[][20],charc){
inti=0,k=0,ii;
while(s[i]!=0){
while(s[i]==c&&s[i]!=0)i++;
if(s[i]==0)break;
ii=i;
while(s[i]!=c&&s[i]!=0){
t[k][i-ii]=s[i];
i++;
}
t[k][i-ii]=0;
k++;
}
returnk;
}
//輸入多項式
voidinput(floata[],intn){
chars[200]="1234";
chart[N][20];
intm,i;
printf("請在一行內輸入多項式各系數 ");
fflush(stdin);//清除輸入緩沖
gets(s);
m=split(s,t,'');//把s以''為分隔為數組
for(i=0;i<n-m;i++)a[i]=0;
for(i=n-m;i<n;i++){
sscanf(t[i-n+m],"%f",&a[i]);
}
}

//輸出多項式
voidprintit(floata[],intn){
inti=0;
while(a[i]==0&&i<n-1)i++;
for(;i<n;i++)
printf("%.2f",a[i]);
}

voidmenu(){//顯示主菜單
printf("============================================ ");
printf("1.多項式加法 ");
printf("2.多項式減法 ");
printf("3.多項式乘法 ");
printf("0.退出 ");
printf("請選擇:");
}
//多項式相加
voidaddit(floata[],floatb[],floatc[],intn){
inti;
for(i=0;i<2*n;i++)c[i]=0;
for(i=0;i<n;i++)
c[n+i]=a[i]+b[i];
}
//多項式相減
voidsubit(floata[],floatb[],floatc[],intn){
inti;
for(i=0;i<2*n;i++)c[i]=0;
for(i=0;i<n;i++)
c[n+i]=a[i]-b[i];
}
//多項式相乘
voidmulit(floata[],floatb[],floatc[],intn){
inti,j;
for(i=0;i<2*n;i++)c[i]=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
c[i+j+1]+=a[i]*b[j];
}
intmain(){
floata[N],b[N],c[N*2];
intx;
printf("多項式運算,運算項數<=%d項 ",N);
while(1){
menu();
fflush(stdin);//清除輸入緩沖
scanf("%d",&x);
switch(x){
case1:
printf("輸入第一個多項式,");
input(a,N);
printf("輸入第二個多項式,");
input(b,N);
addit(a,b,c,N);//多項式相加
printf("相加的結果是: ");
printit(c,2*N);//輸出結果
printf(" ");
break;
case2:
printf("輸入第一個多項式,");
input(a,N);
printf("輸入第二個多項式,");
input(b,N);
subit(a,b,c,N);//多項式相減
printf("相減的結果是: ");
printit(c,2*N);//輸出結果
printf(" ");
break;
case3:
printf("輸入第一個多項式,");
input(a,N);
printf("輸入第二個多項式,");
input(b,N);
mulit(a,b,c,N);//多項式相乘
printf("相乘的結果是: ");
printit(c,2*N);//輸出結果
printf(" ");
break;
}
if(x==0)break;
}
}

❹ c語言課程設計 急急急(100懸賞 還有追加)

//幫你寫了一個
#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct bookInfo
{
int bookid;
char bookname[50];
int booktype;
int bookstatus;//NoneZero indicates not be borrowed
struct bookInfo *next;
}*h,*p,*q;
int AddBook(struct bookInfo *h)//NoneZero indicates sucess
{
struct bookInfo *pAdd;
struct bookInfo *prev=h->next;
pAdd=(struct bookInfo*)malloc(sizeof(struct bookInfo));
puts("intput bookid:");
scanf("%d",&pAdd->bookid);
puts("intput bookname:");
scanf("%s",&pAdd->bookname);
puts("intput booktype:");
scanf("%d",&pAdd->booktype);
puts("intput bookstatus:");
scanf("%d",&pAdd->bookstatus);
pAdd->next=NULL;
while(prev)
{
if(pAdd->bookid==prev->bookid)
{
puts("AddBook failed!Already exists this bookid");
free(pAdd);
return 1;
}
else if(pAdd->bookname==prev->bookname)
{
puts("AddBook failed!Already exists this bookname");
free(pAdd);
return 1;
}
prev=prev->next;
}
prev=h;
while(prev->next)
prev=prev->next;
prev->next=pAdd;
return 0;
}
int ListBook(struct bookInfo *h)//NoneZero indicates sucess
{
struct bookInfo *p=h->next;
if(p==NULL)
{
puts("there is no book in the library!\n");
return 1;
}
while(p)
{
printf("bookid:\t%d\n",p->bookid);
printf("bookname:\t%s\n",p->bookname);
printf("booktype:\t%d\n",p->booktype);
printf("bookstatus:\t%d\n\n",p->bookstatus);
p=p->next;
}
return 0;
}
struct bookInfo * SearchBook(struct bookInfo *h)//NoneNULL indicates sucess
{
int ido;
struct bookInfo *p=h->next;
char bookname[50]={0};
int booktype;
puts("How to Search books?\n1)by book name or \n2)by book type");
scanf("%d",&ido);
switch(ido)
{
case 1:
puts("input a bookname:");
scanf("%s",&bookname);
while(p)
{
if(strcmp(p->bookname,bookname)==0)
return p;
p=p->next;
}
break;
case 2:
puts("input a booktype:");
scanf("%d",&booktype);
p=h->next;
while(p)
{
if(booktype==p->booktype)
return p;
p=p->next;
}
break;
default:
puts("bad operation you do!");
break;
}
return NULL;
}
struct bookInfo * BorrowBook(struct bookInfo *h)//NoneNULL indicates sucess
{
char bookname[50];
struct bookInfo *pBrw=h->next;
puts("input the bookname you want to borrow:");
scanf("%s",&bookname);
while(pBrw)
{
if(strcmp(pBrw->bookname,bookname)==0 && pBrw->bookstatus==1)
{
pBrw->bookstatus=0;
return pBrw;
}
pBrw=pBrw->next;
}
return NULL;
}
struct bookInfo * ReturnBook(struct bookInfo *h)//NoneNULL indicates sucess
{
char bookname[50];
struct bookInfo *pRt=h->next;
puts("input the bookname you want to return:");
scanf("%s",&bookname);
while(pRt)
{
if(strcmp(pRt->bookname,bookname)==0 && pRt->bookstatus==0)
{
pRt->bookstatus=1;
return pRt;
}
pRt=pRt->next;
}
return NULL;
}
int main()
{
int ido;
h=p=q=(struct bookInfo*)malloc(sizeof(struct bookInfo));
h->next=NULL;
while(1)
{
system("cls");
puts("What do you want to do?");
puts("1) add books\n2) list books\n3) search books\n4) borrow books\n5) return books\n6) exit");
scanf("%d",&ido);
switch(ido)
{
case 1://1) add books
if(AddBook(h)==0)
{
puts("Add book successed!");
}
else
puts("Add book failed!");
break;
case 2://2) list books
if(ListBook(h)==0)
puts("List books successed!");
else
puts("List books failed!");
break;
case 3://3) search books
if(q=SearchBook(h))
{
puts("Find the book info:");
printf("bookid:\t%d\n",q->bookid);
printf("bookname:\t%s\n",q->bookname);
printf("booktype:\t%d\n",q->booktype);
printf("bookstatus:\t%d\n\n",q->bookstatus);
}
else
puts("Not found the book!");
break;
case 4://4) borrow books
if(q=BorrowBook(h))
{
puts("the book You had borrowed info:");
printf("bookid:\t%d\n",q->bookid);
printf("bookname:\t%s\n",q->bookname);
printf("booktype:\t%d\n",q->booktype);
printf("bookstatus:\t%d\n\n",q->bookstatus);
}
else
puts("borrow book failed!");
break;
case 5://5) return books
if(q=ReturnBook(h))
{
puts("the book You had returned info:");
printf("bookid:\t%d\n",q->bookid);
printf("bookname:\t%s\n",q->bookname);
printf("booktype:\t%d\n",q->booktype);
printf("bookstatus:\t%d\n\n",q->bookstatus);
}
else
puts("Return book failed!");
break;
case 6://6) exit
q=h->next;
while(q)
{
p=q;
q=q->next;
free(p);
}
puts("bye");
return 0;
break;
default:
puts("bad operation you do!");
break;
}
puts("any key to continue!");
getch();

}
return 0;
}

❺ c語言課程設計,設計一個任意的程序!有說明,要求源程序150行左右!很急!!!

#include <data.h>
#include <windows.h>
#include <stdio.h>
#include <malloc.h>
#include <winbase.h>
#include <process.h>

void Search()
{
char temp[100];
char buffer[2];
char result[100];
printf("請輸入要查詢的單詞:\n");
scanf("%s",&temp);
buffer[0]=temp[0];
buffer[1]='\0';
int ret=GetPrivateProfileString(buffer,temp,0,result,100,"e:\\data.ini");
if(ret>0)
printf("%s\n\n\n\n\n",result);
else
printf("%s\nsorry,沒有您要查找的單詞!",temp);
/*printf("sorry,沒有您要查找的單詞!.\n\n\n\n\n");*/
}

void InsertItem()
{
char temp[100];
char buffer[2];
char result[100];

printf("請輸入要插入的單詞:\n");
scanf("%s",&temp);
printf("請輸入單詞的解釋:\n");
getchar();
scanf("%s",&result);
buffer[0]=temp[0];
buffer[1]='\0';
int ret=WritePrivateProfileString(buffer,temp,result,"e:\\data.ini");
if(ret=0)
printf("哈哈~~~插入失敗!。\n\n\n\n\n");
else
printf("嘿嘿~~~~插入成功!。\n\n\n\n\n");
}

int main(int argc, char* argv[])
{
int index;
main:
printf("******************\n\n");
printf(" 1 英譯漢\n");
printf(" 2 插入新的詞彙\n");
printf(" 3 清空屏幕\n");
printf(" 4 退出\n\n");
printf("**********************************\n");
do{
printf("請選擇操作(1~4):\n");
scanf("%d",&index);
}while(index<0||index>5);
switch(index)
{
case 1:
Search();
goto main;
break;
case 2:
InsertItem();
goto main;
break;
case 3:
system("cls");
goto main;
break;
case 4:
return 0;
break;
default:
break;
}
return 0;
}

❻ c語言課程設計

#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;

class Librarian //圖書管理員類
{
public:
Librarian();
Librarian(int n,int j,char na[20],int w );
int getnumber();
int getjobage();
char *getname();
int getwages();
void resetjobage(int j);
void resetwages(int w);
void resetname(char na[20]);
private:
int number;
int jobage;
char name[20];
int wages;
};
Librarian::Librarian() //其函數的實現
{
number=0;
char b[20]="no one";
jobage=0;
strcpy(name,b);
}
Librarian::Librarian(int n,int j,char na[20],int w)
{
number=n;
jobage=j;
strcpy(name,na);
wages=w;
}
int Librarian::getjobage()
{return jobage;}
char *Librarian::getname()
{return name;}
int Librarian::getnumber()
{return number;}
int Librarian::getwages()
{return wages;}
void Librarian::resetjobage(int j)
{
jobage=j;
}
void Librarian::resetname(char na[20])
{
strcpy(name,na);

}
void Librarian::resetwages(int w)
{
wages=w;
}

class reader //讀者類
{
private:
int number;
int age;
char name[20];
char borrowbook[20];
public:
reader();
reader(int c,int a,char b[20],char e[20]);
int getnumber();
int getage();
char *getname();
char * getborrowbook();
void reworkborrowbook(char a[20]);
};
reader::reader() //其函數的實現
{
char a[20]="沒有人";
char c[20]="沒有借書";
number=0;
age=0;
}
reader::reader(int a,int c,char d[20],char e[20])
{
number=a;
age=c;
strcpy(name,d);

strcpy(borrowbook,e);
}
int reader::getnumber(){return number;}
int reader::getage(){return age;}
char *reader::getname(){return name;}
char * reader::getborrowbook(){return borrowbook;}
void reader::reworkborrowbook(char a[20]){strcpy(borrowbook,a);}

struct book //圖書的結構體
{
int num;

char name[20];
char writer[20];
};

void outbookinf() //輸出所有圖書信息
{
int i;
ifstream infile("allbook.txt",ios::in);
char line[50];
cout<<"書名"<<'\t'<<"書號"<<'\t'<<"作者"<<endl;
for(i=1;i<=10;i++)
{
infile.getline(line,50,'\n');
cout<<line<<endl;
}
infile.close();
}

void serchLaninf() //圖書管理員信息函數
{
int n,i;
ifstream file("serchLaninf.txt");
if(file) { file>>n; file.close();}
else {cout<<"沒有圖書管信息理員"; exit(0);}
ifstream is("controlloer.txt",ios_base::binary);
if(is)
{
Librarian *A=new Librarian[n];
for(i=0;i<n;i++)
{
is.read((char *)&A[i],sizeof(A[i]));
}
for(i=0;i<n;i++)
{
cout<<"編號"<<'\t'<<"工齡"<<'\t'<<"名字"<<'\t'<<"工資"<<endl;
cout<<A[i].getnumber()<<"\t"<<A[i].getjobage()<<"\t"<<A[i].getname()<<"\t"<<A[i].getwages()<<endl;
}
}
else
{
cout<<"txt文件打開出錯'"<<endl;
}
is.close();
}

void libary() //圖書館的總信息
{
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<"本校圖書館由本部圖書館及彭州校區圖書館組成,圖書館總面積達了****平方米";
cout<<" (本館現在有***類書籍***萬冊,****類書籍****萬冊,****類書籍****萬冊****類書籍****萬冊),";
cout<<"圖書館現有工作人員***名";
cout<<"圖書館現有的現代化設備價值超過****萬元………………"<<endl;
}

void storelibrarian() //存入新的管理員的信息
{
int age,n,num,wage;
char name[20];
ifstream file("serchLaninf.txt");
if(file) { file>>n; file.close();}
else { n=0;}
cout<<"已有的圖書管理員個數:";
cout<<n<<endl;
cout<<"請輸入新圖書管理員的編號和工齡,名字和工資:";
cin>>num>>age>>name>>wage;
Librarian A(num,age,name,wage);
cout<<"編號 工齡 名字 工資 "<<endl;
cout<<A.getnumber()<<" "<<A.getjobage()<<" "<<A.getname()<<" "<<A.getwages()<<endl;
ofstream outfile("controlloer.txt",ios_base::app );
outfile.write((char *)&A,sizeof(A));
outfile.close();
n++;
ofstream tfile("serchLaninf.txt");
tfile<<n;
tfile.close();
cout<<"保存成功!";
}

void reLaninf() //修改圖書管理員
{
int i,n,h,jobage,wage,j;
char name[20];
ifstream file("serchLaninf.txt");
if(file) { file>>n; file.close();}
else {cout<<"沒有圖書管信息理員";
exit(0);}
cout<<"已有的圖書管理員個數:";
cout<<n<<endl;
Librarian *A=new Librarian[n];
ifstream is("controlloer.txt",ios_base::binary);
if(is)
{
for(i=0;i<n;i++)
{
is.read((char *)&A[i],sizeof(A[i]));
}
for(i=0;i<n;i++)
{
cout<<"編號 工齡 名字 工資"<<endl;
cout<<A[i].getnumber()<<" "<<A[i].getjobage()<<" "<<A[i].getname()<<" "<<A[i].getwages()<<endl;
}
}
else
{
cout<<"打開文件出錯"<<endl;
}
is.close();
cout<<"請選擇你要修改的管理員編號:";
cin>>h;
cout<<"輸入新的工齡,名字,工資:";
cin>>jobage>>name>>wage;
A[h-1].resetjobage(jobage);
A[h-1].resetname(name);
A[h-1].resetwages(wage);
cout<<"該管理員修改後的名字是:"<<A[h-1].getname()<<" 工齡是:"<<A[h-1].getjobage()<<" 工資是:"<<A[h-1].getwages()<<endl;
ofstream tfile("controlloer.txt",ios_base::binary);
for(j=0;j<n;j++)
{
tfile.write((char *)&A[j],sizeof(A[j]));
}
tfile.close();
}

void aadbook() //新增圖書
{
int num;char name[12];char writer[10];int n;
a:
ofstream fout("allbook.txt",ios::app);
cout<<"請錄入圖書信息:"<<endl;
cout<<"書名"<<'\t'<<"書號"<<'\t'<<"作者"<<endl;
cin>>name;fout<<name<<'\t';
cin>>num;fout<<num<<'\t';
cin>>writer;fout<<writer<<'\n';
fout.close();
cout<<"是否繼續錄入?1.是2.否"<<endl;
cin>>n;
if(n==1)
goto a;
else
{void studentland();
studentland();}
}

void delate() //刪除函數
{ int m;
cout<<"選擇操作選項:"<<endl;
cout<<" 1.刪除全部信息"<<endl;
cout<<" 2.單個刪除"<<endl;
cin>>m;
if(m==1)
{ofstream file("allbook.txt",ios::trunc);
cout<<"全部刪除完畢,按任意鍵返回!"<<endl;
file.close();
getch();
system("cls");
void studentland();
studentland();
}
char str[10][80],buf[20];
a:
int i=0,flag=100,c=0;

ifstream fin("allbook.txt");
if(!fin){
cout<<"文件打開失敗!"<<endl;
getch();
system("cls");
void studentland();
studentland();
}
cout<<"請輸入你要刪除的書名:"<<endl;
cin>>buf;
strcat(buf,"\t");

while(fin.getline(str[i],80))
{
if(strncmp(str[i],buf,strlen(buf))==0)
{
flag=i;
}
i++;
}

fin.close();

if(flag==100)
{
cout<<"沒有你所要刪除的書籍!重新按1,否則0....."<<endl;
int b;
cin>>b;
if(b==1)goto a;
else c=1;
}
if(c==0){
ofstream fout("allbook.txt");
for(int j=0;j<i;j++){
if(j==flag)continue;
fout<<str[j]<<endl;
}
fout.close();
cout<<"你要刪除的書籍的信息已刪除,繼續按1,否則按0....."<<endl;
int b;
cin>>b;
if(b==1)goto a;
}
cout<<"操作已經結束,按任意鍵返回......"<<endl;
getch();
system("cls");
void studentland();
studentland();
}

void searchbook() // 查找書籍
{
a:
ifstream fin;
int flag=0,b,length;
char str[20];
char f[200];char g[200];
fin.open("allbook.txt");
if(!fin)
{
cout<<"Open f1.dat error....."<<endl;
exit(1);
}
while(1)
{
cout<<"請輸入書名:";
cin>>str;
strcat(str,"\t");
length=strlen(str);
cout<<"------------------------------------"<<endl;
while(fin.getline(f,199))
{
strcpy(g,f);
if(strncmp(str,f,length)==0)
{
flag=1;
break;
}
}
if(flag==1)
{
cout<<"所查詢的書已經找到:"<<'\n';
cout<<"--------------------------------"<<endl;
cout<<"書名"<<'\t'<<"書號"<<'\t'<<"作者"<<'\t'<<endl;
cout<<g<<endl;
cout<<"--------------------------------"<<endl;
flag=0;
cout<<"要繼續查詢按1,否則按0:"<<endl;
cin>>b;
if(b==0)break;
}
else
{
fin.close();
cout<<"沒有此書,繼續按1,否則按0..."<<endl;
cin>>b;
if(b==0)break;
goto a;
}
}
fin.close();
cout<<"查詢完畢,按任意鍵返回......"<<endl;
getch();
system("cls");
void studentland();
studentland();
}

void seachreader() // 查詢讀者信息
{
a:
ifstream fin;
int flag=0,b,length;
char str[20];
char f[200];char g[200];
fin.open("readernum.txt");
if(!fin)
{
cout<<"沒有此信息文件!"<<endl;
exit(1);
}
while(1)
{
cout<<"請輸入你要查找讀者的名字:";
cin>>str;
strcat(str,"\t");
length=strlen(str);
cout<<"------------------------------------"<<endl;
while(fin.getline(f,199))
{
strcpy(g,f);
if(strncmp(str,f,length)==0)
{
flag=1;
break;
}
}
if(flag==1)
{
cout<<"所查詢的讀者已經找到:"<<'\n';
cout<<"--------------------------------"<<endl;
cout<<"名字"<<'\t'<<"編號"<<'\t'<<"年齡"<<'\t'<<"借書次數"<<endl;
cout<<g<<endl;
cout<<"--------------------------------"<<endl;
flag=0;
cout<<"要繼續查詢按1,否則按0:"<<endl;
cin>>b;
if(b==0)break;
goto a;
}
else
{
fin.close();
cout<<"沒有此人,繼續按1,否則按0..."<<endl;
cin>>b;
if(b==0)break;
goto a;
}
}
fin.close();
cout<<"查詢完畢,按任意鍵返回......"<<endl;
getch();
system("cls");
void studentland();
studentland();
}

/*void seachreader() //查詢讀者的信息
{
int i,b,h=0;
char a[20];
ifstream file("readernum.txt");
if(file) { file>>b; file.close();}
else { cout<<"沒有文件";}
cout<<"已有的讀者個數:";
cout<<b<<endl;
reader *A=new reader[b];
ifstream is("reader.txt",ios_base::binary);
if(is)
{

for(i=0;i<b;i++)
{
is.read((char *)&A[i],sizeof(A[i]));
}
}
else
{
cout<<"txt文件打開出錯"<<endl;
}
is.close();
cout<<"請輸入你要查找讀者的名字:";
cin>>a;
for(i=0;i<b;i++)
{
if(strcmp(A[i].getname(),a)==0)
{
cout<<"編號 年齡 名字 借書情況 "<<endl;
cout<<A[i].getnumber()<<" "<<A[i].getage()<<" "<<A[i].getname()<<" "<<A[i].getborrowbook()<<endl;
h++;
}
}
if(h==0)cout<<"沒有這個讀者!";
}
*/

void Librarianland() //管理員登陸函數
{
int q,l=1,i,h;
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"現在進行身份確認,請輸入口令:";
cin>>i;
while(l)
{
if(i==00000)
{
system("cls");
system("color 3e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"|*******" <<"0,返回上一級菜單."<<" ******|"<<endl;
cout<<" "<<"|*******" <<"1,查詢圖書館管理員的信息"<<" ******|"<<endl;
cout<<" "<<"|*******" <<"2,存入新的管理員信息. "<<" ******|"<<endl;
cout<<" "<<"|*******" <<"3,修改圖書管理員的信息"<<" ******|"<<endl;
cout<<" "<<"|*******" <<"4,新增圖書"<<" ******|"<<endl;
cout<<" "<<"|*******" <<"5,刪除圖書"<<" ******|"<<endl;
cout<<"請選擇執行的操作:";
cin>>q;
if(q>=0&&q<6)
{
switch(q)
{
case 0:
l=0;
break;
case 1:serchLaninf();
system("pause");
break;
case 2:storelibrarian();
system("pause");
case 3:reLaninf();
system("pause");
break;
case 4:
void aadbook();
aadbook();
break;
case 5:
void delate();
delate();
break;
default:
break;
}
}
else
{
system("cls");
system("color 4e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"操作無效!"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
system("pause");
}
}
else
{
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<" 身份確認失敗"<<endl;
cout<<" "<<" 是否重新確認!"<<endl;
cout<<" "<<"重新確認請按請按1,放棄請按0"<<endl;
cout<<" ";
cin>>h;
if(h==0) l=0;
if(h==1)
{
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"請再次輸入口令:";
cin>>i;
}
}

}
}

void studentland() //學生登陸函數
{
int h;
char l='y';
while(l=='y')
{
system("cls");
system("color 3e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"****** "<<"|輸出藏書信息,請按1 | "<<"******"<<endl;
cout<<" "<<"****** "<<"|查詢圖書館的總信息,請按2| "<<"******"<<endl;
cout<<" "<<"****** "<<"|按書名查找圖書,請按3 | "<<"******"<<endl;
cout<<" "<<"****** "<<"|查詢讀者的信息,請按4 | "<<"******"<<endl;
cout<<" "<<" ****** "<<"|返回上一級菜單,請按0 | "<<"******"<<endl;
cout<<"請選擇您將執行的操作:";
cin>>h;
if(h>=0&&h<5)
switch(h)
{
case 0:
l='n';
break;
case 1:outbookinf();
system("pause");
break;
case 2:libary();
system("pause");
break;
case 3:searchbook();
system("pause");
break;
case 4:seachreader();
system("pause");
break;
}
else
{
system("cls");
system("color 4e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"您的操作是無效的!!!!"<<endl;
system("pause");
}
}
}

void main() // 主函數
{
int h,l=1;
while(l)
{
system("cls");
system("color 7c");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"圖書管理系統"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" ------------------"<<endl;
cout<<" "<<"||管理員登陸 請按1||"<<endl;
cout<<" "<<"||學生登陸 請按2 ||"<<endl;
cout<<" "<<"||退出系統 請按0 ||"<<endl;
cout<<" -------------------"<<endl;
cout<<""<<endl;
cout<<" 請您選擇登陸方式:";
cin>>h;
if(h>=0&&h<3)
{
switch(h)
{
case 0:
cout<<"謝謝光臨本圖書館!"<<endl;
exit(0);
case 1:
Librarianland();
system("pause");
break;
case 2:
studentland();
system("pause");
break;
}
}
else
{
system("cls");
system("color 4e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"您的操作是無效的!!!!"<<endl;
system("pause");
}
}
}

❼ 大一C語言課程設計題目, 求急! 加100分。


#include<stdio.h>

#include<string.h>

#define N 100

typedef struct AA

{

char name[20];

char phone[12];

char e_mail[30];

char relation[20];

}AA;

/*1。輸入新聯系人2。刪除指定的聯系人(輸入姓名,若找掉則刪除該聯系人的信息)

3。根據輸入的與本人關系,顯示聯系信息4。顯示所有聯系人的信息設計菜單*/

int input__(AA * s)

{

int len = 0,i = 0,n;

printf("請輸入要添加的聯系人個數,上限為%d個 ",N);

scanf("%d",&n);

for(i=0;i<n;i++)

{

printf("請依次輸入第%d聯系人的姓名、電話、郵箱以及與本人的關系(中間使用空格隔開即可): ",i);

scanf("%s%s%s%s",s[i].name,s[i].phone,s[i].e_mail,s[i].relation);

}

return n;

}

void delete__(AA *s,int *n)

{

int i = 0,j = 0,status = 0;

char ca[20] = "";

printf("請輸入要刪除的聯系人的姓名 ");

scanf("%s",ca);

for(i=0;i<*n;i++)

{

if(!strcmp(ca,s[i].name))

{

*n = *n-1;

status = 1;

for(j=i;j<*n;j++)

{

s[j] = s[j+1];

}

break;

}

}

if(status == 0)

printf("沒有找到要刪除的人的信息 ");

else

printf("刪除成功 ");

}

void show__relation(AA *s,int n)

{

int i = 0,status = 0;

printf("請輸入與聯系人的關系 ");

char ca[20] = "";

scanf("%s",ca);

for(i=0;i<n;i++)

{

if(!strcmp(ca,s[i].relation))

{

printf("name:%15s phone:%15s e-mail:%15s relation:%15s ",s[i].name,s[i].phone,s[i].e_mail,s[i].relation);

status = 1;

}

}

if(!status)

printf("沒有找到相應的信息 ");

}

void show__all(AA *s,int n)

{

int i = 0;

for(i = 0 ; i <n ; i++)

{

printf("name:%15s phone:%15s e-mail:%15s relation:%15s ",s[i].name,s[i].phone,s[i].e_mail,s[i].relation);

}

}





int main(void)

{

AA a[N];

int n = 0;

int i;

while(1)

{

printf("0------退出系統 1------輸入聯系人信息 2------刪除指定聯系人信息 ");

printf("3------顯示與本人關系相通的聯系人信息 4------顯示所有聯系人的信息 ");

scanf("%d",&i);

if(i == 0)

break;

switch(i)

{

case 1:n = input__(a); break;

case 2:

if(n == 0)

{

printf("你還沒有添加信息,請先添加信息: ");

break;

}

else

{

delete__(a,&n);

break;

}

case 3:

{

if(n == 0)

{

printf("你還沒有添加信息,請先添加信息: ");

break;

}

else

{

show__relation(a,n);


break;

}

}

case 4:

{

if(n == 0)

{

printf("你還沒有添加信息,請先添加信息: ");

break;

}

else

{

show__all(a,n);

break;

}

}

default:

printf("您的選擇有誤,請重新選擇 ");

break;

}

}

return 0;


}

//看看~~~剛剛寫完~

❽ c語言課程設計

很想說兩句,

你看知道教育一欄,

很多人都問各種各樣的參考資料是吧,

其實,

這類問題很多都是沒有人回答的,

或者根本就找不到提問者想要的答案,

因為現在各種各樣的資料簡直太多了,

你提問,

在網路知道問,

是面向全國,

其實別人查的可能還不如你自己查的,

別人很可能也就是在網路,

輸入要查的資料名字,

查不到,

或者查到一點就粘上去了,

遠遠不是你想要的那種,

所以,

覺得問這類問題,

就有些浪費分數了。

當然,

這只是我個人的一些看法,

還是希望你能在知道找到你想要的。

這是我復制別人的,我覺得很有道理.

❾ C語言課程設計

做一個猜數字的游戲,參考代碼:
#include "stdio.h"
#include "conio.h"
#include "dos.h"
#include "stdlib.h"

void main()
{
int z,z1,ia,ib,iindex,iindex1,i,ag,i_1,i_2,easy,xianshi;/*定義變數*/
int i1[5],i2[5];
char yesno;
chooes:/*設置GOTO點*/
printf("please chooes :\n 1 for nomal\n 2 for hard\n please input 1 or 2 :");/*選擇難度開始*/
scanf("%d",&easy);
if(easy==1)
{
iindex1=20;
}
else
{
if(easy==2)
{
iindex1=10;
}
else
{
if(easy==520)
{
shua();/*調用刷小屏涵數*/
printf("wahahahaaaaa.......\nyou choose -=Crazy=- model!!!\n");
iindex1=5;
getch();
}
else
{
shua();/*調用刷小屏涵數*/
printf("**erroy...\n please input again...\n 1 or 2:");
goto chooes;
}
}
}
for(iindex=0;iindex<10;iindex++)/*為變數賦值*/
{
i1[iindex]=0;
i2[iindex]=0;
}
ia=0,ib=0,z=11;
iindex=0;
do/*隨機選取1-9999的數,放棄1-999的數,選擇1000-9999的數*/
{
for(iindex=0;iindex {z=random(100)*random(100);}/*隨機選數*/
i1[3]=z%10;/*把隨即數分成4個*/
i1[2]=z/10%10;
i1[1]=z/100%10;
i1[0]=z/1000%10;
}
while(z<1000||i1[0]==i1[1]||i1[0]==i1[2]||i1[0]==i1[3]||i1[1]==i1[2]||i1[1]==i1[3]||i1

[2]==i1[3]||i1[0]==0);/*判斷每一位數是否相同,如果是則重新輸出*/
shua();/*調用刷小屏涵數*/
printf("Now!!you have %d lifes!!Game Star!!\n",iindex1);/*游戲開始*/
printf(" please input 4 numbers :\n\n");
for(xianshi=10;iindex1>0;iindex1-=1,xianshi-=1)/*iindex1決定嘗試次數*/
{ do
{
printf("*");
scanf("%d",&z1);
i2[3]=z1%10;/*把玩家輸入的數分離成4個*/
i2[2]=z1/10%10;
i2[1]=z1/100%10;
i2[0]=z1/1000%10;
if(z1>9999||z1<1000||i2[0]==i2[1]||i2[0]==i2[2]||i2[0]==i2[3]||i2[1]

==i2[2]||i2[1]==i2[3]||i2[2]==i2[3]||i2[0]==0)/*判斷玩家輸入數字是否每一位不同,是則重新輸入

*/
{
shua();/*調用刷小屏涵數*/
printf("\n**erroy...\n please input again :\n\n");
continue;
}
else
{
break;
}
}while(1);/*設置非0,使循環直到break*/
ib=0;/*開始判斷:數字正確,位置錯誤的個數(B)*/
if(i1[0]==i2[1])ib++;
if(i1[0]==i2[2])ib++;
if(i1[0]==i2[3])ib++;
if(i1[1]==i2[0])ib++;
if(i1[1]==i2[2])ib++;
if(i1[1]==i2[3])ib++;
if(i1[2]==i2[0])ib++;
if(i1[2]==i2[1])ib++;
if(i1[2]==i2[3])ib++;
if(i1[3]==i2[0])ib++;
if(i1[3]==i2[1])ib++;
if(i1[3]==i2[2])ib++;
for(ia=0,iindex=0;iindex<4;iindex++)/*開始判斷位置正確,數字錯誤的數(A)*/
{
if(i1[iindex]==i2[iindex])
{
ia++;
}
}
printf("-----\n");
printf("*%dA%dB\n\n",ia,ib);
gotoxy(60,11-xianshi),printf("%2d. %d * %dA%dB",11-xianshi,z1,ia,ib);/*在右邊顯

示出之前的輸入*/
shua();/*調用刷小屏涵數*/
if(z==z1)
{
printf("\n");
break;
}
else
{
printf(" you have last %d life...\n try again :\n\n",iindex1-1);
continue;
}
}
if(iindex1==0)/*判斷輸贏*/
{
printf("ans is *%d*\n",z);
printf("***sorry you lose...***");
for(i=10;i>0;i--)
{ sound(100*i);
delay(10000000);
nosound();
}
}
else
{ printf("***GREAT!! You WIN!!***");
for(i=1;i<10;i++)
{ sound(100*i);
delay(10000000);
nosound();
}
}
getch();
printf(" \n\nplay again?? y/n : ");/*是否重來*/
scanf("%s",&yesno);
if(strcmp('y',yesno)==0)
{
clrscr();/*清屏*/
goto chooes;
}
else
{
if(strcmp('n',yesno)==0)
{
printf(" 88...\n");
printf(" press any key to quit...");
}
else
{
shua();
printf(" sorry,input again...\n y/n : ");
}
}
getch();
}

shua()/*刷小屏涵數*/
{
int i_1,i_2;
for(i_1=0;i_1<40;i_1++)
{
for(i_2=0;i_2<25;i_2++)
{
gotoxy(i_1,i_2),printf(" ");
}
}
gotoxy(1,1);
}