c語言程序設計豆丁網
① c語言程序設計 實驗報告
30分就想要個定製的實驗報告,你還是直接rmb或者請同學吃飯最實在
② 跪求2010年9月計算機二級C語言機試題庫及答案!!!急
C語言程序設計
(一)C語言的結構
1.程序的構成,main函數和其他函數。
2.頭文件、數據說明、函數的開始和結束標志。
3.源程序的書寫格式。
4. 語言的風格。
(二)數據類型及其運算
1.C的數據類型(基本類型、構造類型、指針類型、空類型)及其定義方法。
2.C運算符的種類、運算優先順序和結合性。
3.不同類型數據間的轉換與運算。
4.C表達式類型(賦值表達式、算術表達式、關系表達式、邏輯表達式、條件表達式、逗號表達式)和求值規則。
(三)基本語句
1.表達式語句,空語句,復合語句。
2.數據的輸入與輸出,輸入輸出函數的調用。
3.復合語句。
4.goto語句和語句標號的使用。
(四)選擇結構程序設計
1.用if語句實現選擇結構。
2. 用switch語句實現多分支選擇結構。
3.選擇結構的嵌套
(五)循環結構程序設計
1.for循環結構。
2.While和do whi1e循環結構。
3.continue語句和break語句。
4.循環的嵌套。
(六)數組的定義和引用
1.一維數組和多維數組的定義、初始化和引用。
2.字元串與字元數組。
(七)函數
1.庫函數的正確調用。
2.函數的定義方法。
3.函數的類型和返回值。
4.形式參數與實在參數,參數值的傳遞。
5.函數的正確調用,嵌套調用,遞歸調用。
6.局部變數和全局變數。
7.變數的存儲類別(自動,靜態、寄存器、外部),變數的作用域和生存期。
8.內部函數與外部函數。
(八)編譯預處理
1.宏定義:不帶參數的宏定義;帶參數的宏定義。
2.「文件包含」處理
(九)指針
1.指針與指針變數的概念,指針與地址運算符。
2.變數、數組、字元串、函數、結構體的指針以及指向變數、數組、字元串、函數、結構體的指針變數。通過指瞎圓針引磨斗塌用以上各類型數據。
3.用指針作函數參數。
4.返回指針值的指針函數。
5. 指針數組,指向指針的指針,main函數的命令行參數。
(十)結構體(即「結構」)與共用體(即「聯合」)
1.結構體和共用體類型數據的定義方法和引用方法。
2.用指針和結構體構成鏈表,單向鏈表的建立、輸出、刪除與插入。
(十一)位運算
1,位運算符的含義及使用。
2.簡單的位運算。
(十二)文件操作
只要求緩沖文件系統(即高級磁碟I/O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。
1. 文件類型指針(FILE類型指針)。
2. 文件的打開與關閉(fopen,fclose)。
3. 文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函數),文件的定位(rewind,fseek函數)。
按照這些要點去復習,當你搞懂這些要點之後再做一些歷屆的套題,再有針對性地復習一下你做錯的題目與要點,應該可以了。至於上機題,我同樣是推薦用南開一百,因為每年的題目在那裡都可以找到相同的題型。
以上都是個人的建議,希望銷指對你有幫助。加油...........
③ 《C語言程序設計第四版》pdf下載在線閱讀全文,求百度網盤雲資源
《C語言程序設計第四版》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1OJyaV3BLbsB8eBo8cUAvBQ
簡介:《C程序設計(第四版)》是由譚浩強編著,2010年清華大學出版社出版的中國高等院校計算機基礎教育課程體系規劃教材。該書可作為高等學校各專業的正式教材,也是一本自學的教材
④ 《C語言程序設計》epub下載在線閱讀,求百度網盤雲資源
《C語言程序設計》(譚浩強)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1SIy7n0rBtxJ8GvwNRHeq2A
書名:C語言程序設計
作者:譚浩強
豆瓣評分:7.1
出版社:清華大學出版社
出版年份:2001-12-1
頁數:338
內容簡介:
《C語言程序》功能豐富,使用靈活,可移植性好,既具有高級語言的優點,又具有低級語言的許多特點,現可以用為編寫系統軟體,又可用於編寫應用軟體,是國內外廣泛使用的計算機語言。C程序設計是計算機應用人員應掌握的基本功。針對C語言比較難學的情況,作者對全書內容做了精心安排,分解難點,減小台階,用通俗易懂的語言和豐富的例題解釋清楚復雜的概念。
作者簡介:
譚浩強教授,我國著名計算機教育專家。1934年生,廣東台山人。1985年清華大學自動控制系畢業。學生時代曾擔任清華大學學生會主席、北京市人民代表。他是我國計算機普及和高校計算機基礎教育開拓者之一,現任全國高等院校計算機基礎教育研究會會長、教育部一國計算機應用技術證書考試委員會主任委員和教育部全國計算機等級考試委員會副主任。
⑤ C語言程序設計,實驗報告
#define Size 64
#include<stdio.h>
int main()
{
char buf[Size],fn1[]="poem1.txt",fn2[]="poem2.txt";
FILE *f1=NULL,*f2=NULL;
f1=fopen(fn1,"r");
f2=fopen(fn2,"w+");
while(fgets(buf,Size,f1))
{
fputs(buf,f2);
}
fseek(f2,0,SEEK_SET);
while(fgets(buf,Size,f2))
{
printf("%s",buf);
}
fclose(f1);
fclose(f2);
return 0;
}
⑥ C語言程序設計
這個也不是很全,但是大體功能有了,你改進一下嘛,我運行過的可以!
希望對你有所幫助!
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10 /*定義常量SIZE便於以後的修改*/
struct student /*定義一個結構體數組存放學生的信息*/
{
int number; /*學號*/
char name[20];/*名字*/
float score[3];/*分數*/
float average;/*平均分*/
}stu[SIZE];
void menu();/*調用菜單函數*/
void write();/*讀入信息*/
void save();/*保存stud.dat文件函數*/
void open();/*檢查喊姿是否正確保存*/
void inturn (struct student c[]);/*用於對學生的信息按平均分排序的函數*/
void save2();/*將排序後的信息存入studsort.dat文件中*/
void read();/*讀取studsort.dat文件文件中第2 4 6 8 10個學生的信息*/
void main()
{
int choice;/*用戶選擇變數*/
printf("*******************************************************************************\n");
printf("* *\n");
printf("* Hwadee &學生成績文件管理& Hwadee *\n");
printf("* *\n");
printf("*******************************************************************************\n\n\n");
printf("******************************●●歡迎使用●●*********************************");
system("pause");
while (1)
{
menu();/*調用菜單函數形成操作界面*/
printf("請選擇:\t");
scanf("%d", &choice);
if ( choice == 0 )
{
system("cls");
printf("\n\n\t\t\t\t謝謝使用!!!\n\n\t\t\t\t\t\t\t\t指導老師: 梁凱\n\n\t\t\t\t\t\t\t\t 學生:萬超\n");
break;
}
switch(choice) /*多重選擇實現功能不同的功能*/
{
case 1:
write();
break;
case 2:
system("cls");
save();
break;
case 3:
system("pause");
system("cls");
open();
break;
case 4:
system("cls");
printf("排序前的學生信息:\n");
open();
inturn(stu);
save2();
break;
case 5:
system("cls");
read();
break;
default:
printf("\n無此項功能!\n請重新輸入\n");
}
}
}
void menu()
{
printf("\n1*****輸入學生信息\t\t2*****將信息存入文件stud.dat中\n");
printf("3*****檢查文件襪簡數據\告滲褲t\t4*****將學生信息排序並存入文件studsort.dat中\n");
printf("5*****讀取文件studsort.dat中的第 2 4 6 8 10個學生的信息\n");
printf("0*****退出系統\n\n\n");
}
/**********************************************************************\
函數名稱:
write
功能描述:
完成將學生信息寫入
函數參數:
i stu
返回值:
無
模塊歷史:
\*********************************************************************/
void write()
{
int i;/*計數變數*/
stu[i].average = 0;/*初始化結構體成員 average*/
printf("請你輸入學生的信息\n");
printf("學號\t姓名\t語文\t數學\t英語\t\n");
for (i=0; i<SIZE;i++)
{
scanf("%d\t",&stu[i].number);
if (stu[i].number == 0)/*不需輸入信息時輸入0即可*/
break;
scanf("%s\t%f\t%f\t%f",&stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
stu[i].average = (stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;/*計算平均成績*/
}
}
/**********************************************************************\
函數名稱:
save
功能描述:
將寫入的信息讀入文件中
函數參數:
FILE *fp i
返回值:
無
模塊歷史:
\*********************************************************************/
void save()
{
FILE *fp;/*定義文件指針用於向文件讀入數據*/
int i;
if ((fp=fopen("stud.dat","wb")) == NULL)
{
printf("cannot open file\n");
return;
}
for (i=0;i<SIZE;i++)
if (fwrite(&stu[i],sizeof(struct student),1,fp) != 1)
printf("file write error\n");
fclose(fp);
printf("\n信息保存成功!恭喜!!\n\n");
}
/**********************************************************************\
函數名稱:
open
功能描述:
用於檢查讀入文件的數據是否正確
函數參數:
FILE *cp i
返回值:
無
模塊歷史:
\*********************************************************************/
void open()
{
int i;
FILE *cp;
cp = fopen ("stud.dat","rb");
printf("保存在stud.dat文件中的信息:\n\n");
printf("學號\t姓名\t數學\t語文\t英語\t平均分\n\n");
for (i=0;i<SIZE;i++)
{
fread(&stu[i],sizeof(struct student),1,cp);
printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n\n\n",stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );
}
fclose (cp);
}
/**********************************************************************\
函數名稱:
inturn
功能描述:
用於對結構體數組中的元素排序
函數參數:
into i,j,k
struct student temp
返回值:
無
模塊歷史:
\*********************************************************************/
void inturn(struct student m[])
{
int i,j,k;/*計數變數*/
struct student temp;/*中間變數 類型為結構體*/
for(i=0; i<SIZE-1; i++) /*運用冒泡排序對結構體數組進行排序*/
for (j=i+1; j<SIZE; j++)
{
if( m[i].average < m[j].average )
{
temp = m[i];
m[i] = m[j];
m[j] = temp;
}
}
printf("\n排序後的學生信息:\n\n");
printf(" 學號\t姓名\t數學\t語文\t英語\t平均分\n");
for (i=0; i<SIZE; i++)
{
printf("第%d名 %d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n\n\n",i+1, stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );
}/*輸出排序後的學生信息*/
}
/**********************************************************************\
函數名稱:
save2
功能描述:
將排序後的學生信息讀入到另外的文件中
函數參數:
FILE *mp
i
返回值:
無
模塊歷史:
\*********************************************************************/
void save2()
{
FILE *mp;
int i;
if ((mp=fopen("studsort.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for (i=0;i<SIZE;i++)
if (fwrite(&stu[i], sizeof(struct student), 1, mp) != 1)
printf("file write error\n");
fclose(mp);/*讀取完畢關閉文件*/
}
/**********************************************************************\
函數名稱:
read
功能描述:
讀出另外文件中的信息
函數參數:
FILE *tp
i
返回值:
無
模塊歷史:
\*********************************************************************/
void read()
{
int i=1;
FILE *tp;
tp = fopen ("studsort.dat", "rb" );
printf("studsort.dat文件中偶數號碼學生的信息如下:\n\n");
printf("學號\t姓名\t數學\t語文\t英語\t平均分\n\n");
for (i = 1;i<SIZE;i += 2)
{
fseek(tp,i*sizeof(struct student),0);/*fseek函數可以根據用戶所需對文件開頭的偏移量來讀取文件的數據。
k*sizeof(struct student)是指將位置指針移到當前位置k個位元組處*/
fread(&stu[i],sizeof(struct student),1,tp);
/*注意:必須使用fseek函數定位後才能根據自己所需讀出數據,但是只用fseek函數不用fread,
只是把數據列印到屏幕上而並沒有從文件中讀取。這是一個常見性問題*/
printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n", stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );
}
fclose (tp);/*讀取完畢關閉文件*/
}
⑦ 求完整C語言程序設計報告!!
C語言課程設計報告--學生成績管理系
C語言課程設計報告:
學生成績管理系統
系統需求
一、 當前學生信息:通過結構體struct student 來保存學生的姓名,學號,性別,語文,數學,英語和計算機等等相關信息,並且通過cin函數來進行給當前學生輸入初始信息.
二、學生成績查詢: 輸入一個學號, 在文件中查找此學生, 若找到則輸出此學生的全部信息和成績; 若找不到則輸出查找失敗的信息. 同時也可以全部把各科的平均成績,最高和最低分輸出。
三、新生插入 :通過給該生的學號來和原班上的學生的學號比較大小,若大就在後,若小則靠前排,將此生的信息保存下來。
四、輸出全部學生信息和全部學生成績。
五、退出系統.
六、附加說明:系統將來完善的功能有:可以通過性別來模糊查詢,也可以通過姓名的姓來先進行模糊查詢,以便後面精確查找。
總體設計
一、 仔細閱讀系統要求,首先將此系統化分為如下模塊(即如下函數)
1、輸入初始的學生信息:其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現此操作。
2、查詢模塊:可用stu *lookdata(stu *p1) 來實現。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。
3、插入模塊:可用insert( )函數來實現。其中通過學號的大小來比較的,並且以此來排序。
4、輸出學生的信息以及成績:通過學生的姓名來查看學生的語文、數學、英語和計算機等相關成績,同時也可以分別通過caverage() 、 maverage() 、eaverage() 和comaverage() 來輸出語文、數學、英語和計算機等成績的平均分數、最高和最低分數。
5、退出系統:可用一個函數exit()來實現,首先將信息保存到文件中,釋放動態創建的內存空間,再退出此程序。
二、系統主模塊結構圖:
詳細設計
一、 界面設計
此系統界面採用圖形和數字化菜單設計。
主界面設計如下:
學生成績管理系統
請選擇相應的數字執行相應的功能:
1:是否輸入其他數據
2:查看數據
3:插入數據
4:查找數據
5:更新數據
6:保留數據
7:顯示或列印數據
8:語文成績狀況
9:數學成績狀況
10:英語成績狀況
11:計算機成績狀況
12:?
13:退出系統
二、 數據結構設計:
程序設計中用到的結構體類型:
學生信息結構體類型:
typedef struct student{
char name[MAX];
int num[MAX];
char sex[MAX];
int chinese;
int mathematic;
int english;
int computer;
struct student *next;
}
程序代碼:
//原始密碼是123456
#include"stdio.h"
#include"stddef.h"
#include"stddef.h"
#include"string.h"
#define MAX 10
typedef struct student{ /*定義結構體*/
char name[MAX]; /*姓名*/
int num[MAX]; /* 學號*/
char sex[MAX]; /*性別*/
int chinese; /*語文*/
int mathematic; /* 數學*/
int english; /*英語*/
int computer; /*計算機*/
struct student *next; /*結構體指針*/
}stu;
stu *head; /*頭指針*/
void print() /*顯示或列印函數*/
{
system("cls");
printf("\t\t\tScore Manage System\n"); /*成績管理系統*/
printf("<1>Enter Record\t"); /*輸入數據*/
printf("<2>Display\t"); /*顯示*/
printf("<3>Insert\t"); /*插入數據*/
printf("<4>Quest\t"); /*訪問數據*/
printf("<5>Update\t"); /*以前數據*/
printf("<6>Save\t"); /*保留數據*/
printf("<7>Fresh\t"); /*更新數據*/
printf("<8>Chinese Average\t"); /*語文平均成績*/
printf("<9>Math Average\t"); /*數學平均成績*/
printf("<10>English Average\t"); /*英語平均成績*/
printf("<11>Computer Average\t"); /*計算機平均成績*/
printf("<12>Quit\t\n"); /*退出*/
}
void cin(stu *p1) /*輸入相關數據的函數*/
{ printf("Enter name:\n");
scanf("%s",&p1->name);
printf("Enter num:\n");
scanf("%d",&p1->num);
printf("Enter sex:\n");
scanf("%s",&p1->sex);
printf("Enter score:\n");
printf("Enter chinese:\n");
scanf("%d",&p1->chinese);
printf("Enter math:\n");
scanf("%d",&p1->mathematic);
printf("Enter English:\n");
scanf("%d",&p1->english);
printf("Enter Computer:\n");
scanf("%d",&p1->computer);
}
stu *cindata() /*其他數據是否繼續輸入的函數*/
{ stu *p1,*p2;
int i=1;
char ch;
p1=(stu *)malloc(sizeof(stu));
head=p1;
while(i)
{
cin(p1);
printf("Do you Want to Continue?yes or no"); /*是否繼續輸入數據*/
ch=getchar();
ch=getchar();
if(ch=='n'||ch=='N')
{ i=0;
p1->next=NULL;
}
else
{ p2=p1;
p1=(stu *)malloc(sizeof(stu));
p2->next=p1;
}
}
return(p1->next);
}
stu *lookdata(stu *p1) /*查看數據的函數*/
{
while(p1!=NULL)
{ printf("Num:%d\t",p1->num);
printf("Name:%s\t",p1->name);
printf("Sex:%s\t",p1->sex);
printf("\n");
printf("Chinese:%d\t",p1->chinese);
printf("Math:%d\t",p1->mathematic);
printf("English:%d\t",p1->english);
printf("Computer:%d\t",p1->computer);
printf("\n");
p1=p1->next;
}
return p1;
}
void insert() /*通過比較學號來插入數據的函數*/
{ stu *p1,*p3,*p2;
char ch;
p1=head;
p3=(stu *)malloc(sizeof(stu));
p3->next=NULL;
if(head==NULL){ head=p3; return;}
cin(p3);
while(p1!=NULL&&(p1->num<p3->num)) /*通過學號的比較來插入*/
{ p2=p1;p1=p1->next;}
if(p2==head) {p3->next=head; head=p3; return;}
p3->next=p1;
p2->next=p3;
}
find(stu *p2) /*通過姓名查找查看數據的函數*/
{ char name[20];
int b=0;
printf("Enter the name of the student you want to find:"); /*通過姓名查看*/
scanf("%s",name);
while(p2!=NULL)
{if(strcmp(name,p2->name)==0)
{
printf("The data you want has be found\n");
printf(" Name:%s\t",p2->name);
printf("Num:%d\t",p2->num);
printf("sex%s\t",p2->sex);
printf("\n");
printf("Chinese:%d\t",p2->chinese);
printf("Math:%d\t",p2->mathematic);
printf("English:%d\t",p2->english);
printf("Computer:%d\t",p2->computer);
printf("\n");
b=1;
}
else if(b==0)
printf("sorry not find data!");
p2=p2->next;
}
if(b==1)
{
print();
printf("Find one\n");}
else
{print();
printf("Not find\n");
}
}
void caverage() /*求各學生語文平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->chinese;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->chinese)
max=p1->chinese;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->chinese)
min=p1->chinese;
}
printf("Chinese Average:%f",aver);
printf("Chinese Max:%f",max);
printf("Chinese Min:%f",min);
}
void maverage() /*求各學生數學平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->mathematic;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->mathematic)
max=p1->mathematic;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->mathematic)
min=p1->mathematic;
}
printf("Mathe Average:%f",aver);
printf("Mathe Max:%f",max);
printf("Mathe Min:%f",min);
}
void eaverage() /*求各學生英語平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->english;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->english)
max=p1->english;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->english)
min=p1->english;
}
printf("English Average:%f",aver);
printf("English Max:%f",max);
printf("English Min:%f",min);
}
void comaverage() /*求各學生計算機平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->computer;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->computer)
max=p1->computer;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->computer)
min=p1->computer;
}
printf("Computer Average:%f",aver);
printf("Computer Max:%f",max);
printf("Computer Min:%f",min);
}
update(stu *p2) /*通過姓名查找來更新數據*/
{
char name[10]; /*p2為指向結構體struct student的指針*/
int b=0;
printf("Enter The Name"); /*輸入姓名*/
scanf("%s",name);
while(p2!=NULL)
{if(strcmp(name,p2->name)==0)
{
printf("Find you data\n");
scanf("Name:%s",p2->name);
scanf("Num:%s",p2->num);
scanf("Sex:%s",p2->sex);
scanf("Chinese:%d",p2->chinese);
scanf("Math:%d",p2->mathematic);
scanf("english:%d",p2->english);
scanf("Computer:%d",p2->computer);
printf("Success!");
b=1;}
else if(b==0)
printf("Sorry not Find data!");
p2=p2->next;}
if(b==0)
{print();
printf("Sorry not Find data!");
}
else
{
print();
printf("Finish!");
}
}
save(stu *p2) /*保留數據函數*/
{
FILE *fp;
char file[10];
printf("Enter file name"); /*輸入文件名*/
scanf("%s",file);
fp=fopen(file,"w");
while(p2!=NULL)
{
fprintf(fp,"%s",p2->name);
fprintf(fp,"%s",p2->num);
fprintf(fp,"%s",p2->sex);
fprintf(fp,"%d",p2->chinese);
fprintf(fp,"%d",p2->mathematic);
fprintf(fp,"%d",p2->english);
fprintf(fp,"%d",p2->computer);
p2=p2->next;
}
fclose(fp);
}
char password[7]="123456"; /*定義初始密碼*/
void main() /*主函數*/
{ int choice;
stu *p2;
char s[8];
int flag=0,i; /*標志項*/
int n=3;
do{ printf("Enter password:\n");
scanf("%s",s);
if(!strcmp(s,password)) /*進行密碼匹配驗證*/
{ printf("PASS\n\n\n");
flag=1;
break;
}
else{
printf("Error Enter again:\n");
n--;
}
}
while(n>0);
if(!flag)
{printf("you have Enter 3 times!"); /*輸入密碼超過了3次!!*/
exit(0); /*自動退出*/
}
/*密碼驗證成功後進入的界面*/
printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n"); /*操作界面*/
printf("\t\tWelcom to the Mis\n");
printf("Author:-----\tClass:------\tNum:------\n"); /*作者,班級和號碼*/
printf("Adress:HG\n"); /*地址*/
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
printf("\t\tEnter OP:\n");
printf("\n\n\n\n");
printf("==============\t\t==============\n");
printf("==============\t\t==============\n");
printf("\t\tEnter the MIS yes or no\n"); /*問進入系統與否*/
scanf("%d",&choice);
if(choice=='n'||choice=='N')
exit(1);
print();
while(1)
{
printf("Enter choice:");
scanf("%d",&i);
if(i<1||i>13)
{
printf("Enter num from 1 to 13:\n"); /*再從1-13中進行選擇*/
exit(1);
}
switch(i)
{ case 1:
p2=cindata(); /*其他數據是否繼續輸入的函數*/
break;
case 2:
p2=lookdata(head); /*查看數據的函數*/
break;
case 3:
insert(); /*通過比較學號來插入數據的函數*/
break;
case 4:
find(head); /*通過姓名查找查看數據的函數*/
break;
case 5:
update(head); /*通過姓名查找來更新數據*/
break;
case 6:
save(head); /*保留數據函數*/
break;
case 7:
print(); /*顯示或列印函數*/
break;
case 8:
caverage(); /*求各學生語文平均分、最高和最低分成績的函數*/
break;
case 9:
maverage(); /*求各學生數學平均分、最高和最低分成績的函數*/
break;
case 10:
eaverage(); /*求各學生英語平均分、最高和最低分成績的函數*/
break;
case 11:
comaverage(); /*求各學生計算機平均分、最高和最低分成績的函數*/
break;
case 12:
; /*空操作*/
case 13:
exit(1); /*退出*/
break;
}
scanf("%d",&i);
}
}
程序中出現的問題及解決方法
問題一、學生初始信息模塊:
其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現此操作。當正確輸入存在的學生學號,系統進行判斷時,提示不存在此學生。
解決辦法及步驟:
1、一個個輸出所有的學生的學號,檢查文件中是否有此學生,發現有。
2、既然有此學生,那麼檢查循環判斷是否有此學生的語句發現沒有錯
3、輸出用於循環檢查語句中的學生信息,發現亂碼
4、仔細分析亂碼的原因,最後發現是變數的類型錯誤,錯將學生類型的結構體指針變數定義為了其他類型的指針變數。
問題二、查詢模塊:
可用stu *lookdata(stu *p1) 來實現。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。當正確輸入查找信息時,系統卻不能夠得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。
解決辦法及步驟:
1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然後再繼續正確輸入查找信息看能否得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。
2、檢查當我們在輸入查找信息時,看是否我們輸入的信息有誤,若是這樣的話,我們應當仔細輸入查找信息。
問題三、插入模塊:
可用insert( )函數來實現。其中通過學號的大小來比較的,並且以此來排序。當我們輸入插入信息時,系統卻提示插入不進數據。
解決辦法及步驟:
1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然後再繼續正確輸入插入信息看能否插入進去得到所要插入的學生信息以及學生的語文、數學、英語和計算機的成績。
2、檢查當我們在輸入插入信息時,看是否我們輸入的插入信息有
⑧ C語言的程序設計概念
C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。因此,它的應用范圍廣泛。
C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它解釋型高級語言,有一些大型應用軟體也是用C語言編寫的。
C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫。它是數值計算的高級語言。
常用的C語言IDE(集成開發環境)有Microsoft
Visual
C++,Borland
C++,Watcom
C++
,Borland
C++
,Borland
C++
Builder,Borland
C++
3.1
for
DOS,Watcom
C++
11.0
for
DOS,GNU
DJGPP
C++
,Lccwin32
C
Compiler
3.1,Microsoft
C,High
C,Turbo
C,Dev-C++,C-Free等等......
你看下:
http://ke..com/view/1219.html?wtp=tt
⑨ 《C語言程序設計》實驗報告
#include "stdio.h"
#define N 10
typedef struct
{char name[20];
char xuehao[20];
int xuhao[5];
float shuxue[10];
float yingyu[10];
float jisuanji[10];
float sum[10];
float average[10];
}user;
main()
{user sp[N],temp;
int i;
printf("enter xinxi; \n");
for(i=0;i<N;i++)
{gets(sp[i].name);gets(sp[i].xuehao);
gets(sp[i].xuhao);gets(sp[i].shuxue);
gets(sp[i].yingyu);gets(sp[i].jisuanji);
sum=sp[i].shuxue+sp[i].yingyu+sp[i].jisuanji;
average=sum/3;
}
getsort(sp);
printf("after sorted: \n");
for(i=0;i<N;i++)
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",sp[i].xuhao,sp[i].xuehao,sp[i].name,sp[i].yingyu,sp[i].jisuanji,sp[i].shuxue,sp[i].sum,sp[i].average);
}
getsort(user *sp)
{int i,j;
user temp;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(sp[i].sum<sp[j].sum)
{temp=sp[i].sum;
sp[i].sum=sum[j].sum;
sp[j].sum=temp;}
我沒運行,可能對吧,你試一下