c語言程序設計報告
⑴ c語言程序設計結課報告
重慶科技學院《
c
語言程序設計》程序設計報告
1
1
設計內容、任務以及要求
...................................... 1
1.1
設計題目的內容
................................................
1
1.2
要求
..........................................................
1
2
總體設計思路
............................................... 2
2.1
系統基本功能
..................................................
2
2.2
具體設計思想
..................................................
2
2.3
系統的總體流程圖
...............................................
3
3 .
功能模塊的詳細設計
........................................ 5
3.1
結構的定義
..........................................................................................................
5
3.2
各個函數的設計具體設計思想和流程圖
......................................................................
5
4
.功能模塊的調試及測試
.
......................................27
4.1
添加函數的測試
...............................................
2
7
4.2
判斷函數的測試
...............................................................................................
2
8
4.3
刪除函數的測試
...............................................
2
8
4.4
統計函數的測試
...............................................................................................
2
8
4.5
密碼確認函數的測試
......................................................................................
2
8
4.6
密碼的修改函數
...............................................
3
1
4.7
主函函數的測試
...............................................
3
2
5
總結
......................................................34
6
致謝
......................................................35
參考文獻
....................................................36
原程序代碼:
.................................................35
⑵ C語言程序設計實驗報告怎麼寫啊
通過本試驗初步培養計算機邏輯解題能力。熟練掌握賦值語句和if語句的應用;掌握switch多路分支語句和if嵌套語句的使用
⑶ C語言程序設計報告 1、小學算術運算測試(math.c)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
int i,n,fen=0,p;
int a,b,num;
printf("請輸入題目數目:");
scanf("%d",&n);
srand(time(0));
for(i=0;i<n;i++)
{ a=rand()%100;
b=rand()%100;
p=rand()%3;
if(p==0)
{ printf("%d + %d = ",a,b);
scanf("%d",&num);
if(num==a+b)fen++;
}
if (p==1)
{ printf("%d - %d = ",a,b);
scanf("%d",&num);
if(num==a-b)fen++;
}
if (p==2)
{ printf("%d * %d = ",a,b);
scanf("%d",&num);
if(num==a*b)fen++;
}
if (p==3&&b!=0)
{ printf("%d/%d = ",a,b);
scanf("%d",&num);
if(num==a/b)fen++;
}
if(p==3&&b==0)
return n-1;
}
printf("總分 %d,得分%d ",n,fen);
if(fen<(0.8*n))
printf("繼續努力,加強練習!\n");
if(fen>=(0.8*n))
{if(fen==n)
printf("棒極了!\n");}
else printf("請保持!\n");
}
⑷ 求完整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語言實驗報告怎麼寫
#include <stdio.h>
int main()
{
unsigned long a;
char c;
printf("Input a binary number: ");
for(a=0;(c=getchar())!=' ';)
a=a*2+c-'0';
printf("The number is %lu in decimal ",a);
printf("The number is %lo in octal ",a);
printf("The number is %lX in Hexadecimal ",a);
return 0;
}
⑹ 《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;}
我沒運行,可能對吧,你試一下
⑺ C語言程序設計報告的格式
設計報告格式要求課程設計封面使用最後的統一格式。各種圖表必須嚴格符合規范。論文的圖應有圖名和圖號,居中寫在圖的下方;表應有表名、表號,靠左寫在表的上方。表題、圖題用5號黑體,參考文獻用5號楷體。課程設計報告分章節撰寫,書寫層次和章節序號作如下的約定:一、設計任務 (居中書寫,3號黑體)1.1╳ ╳ ╳ ╳ (左起書寫, 4號黑體)1.1.1 ╳ ╳ ╳ ╳ (左起書寫,小4號黑體)1. ╳ ╳ ╳ ╳ (空兩格書寫,小4號黑體)╳ ╳ ╳ ╳ (正文,小4號宋體 首行縮進2個字元)二、功能模塊結構.......三、主要模塊的流程圖及說明.......四、運行結果.......
⑻ c語言設計程序報告
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void cut();
void in();
void display();
int keep();
int enter();
struct msg
{
int num;
char name[20];
float score1;
float score2;
float score3;
double ave;
}
main()
{
struct msg student[10];
int i,n=0,k,m;
printf("請輸入學員信息.\n");
n=enter(student);
printf("\n排序前學員信息如下:\n");
printf("\t學號 \t姓名 \t平均成績\n");
for(i=0;i<n;i++)
printf("\t%d \t%s \t%f\n",student[i].num,student[i].name,student[i].ave);
printf("\n");
printf("\n排序後學員信息如下:\n");
display(student,n);
printf("\n\n是否要插入新學員?<y or n>");
k=keep();
if(k==0) exit(k); //如果輸入的不是y退出程序
else
{
in(student,n);
}
printf("\n\n是否要刪除某個學員?<y or n>");
k=keep();
if(k==0) exit(k);
else
{
m=n+1; //之前插入了一個學生,所以數組增加1
cut(student,m);
}
}
int keep() //是否繼續條件判斷函數
{
char ans;
fflush(stdin);
ans=getchar();
if (ans=='y')
return 1;
else
return 0;
}
int enter(struct msg student[10]) //錄入結構數據函數
{
int i,k,n=0;
for(i=0;;i++)
{
student[i].num=i+1;
printf("\n學號:%d\n",student[i].num);
printf("姓名: ");
fflush(stdin);
gets(student[i].name);
if(i==0) printf("\n三門成績:\n");
printf("成績1:");
scanf("%f",&student[i].score1);
printf("成績2:");
scanf("%f",&student[i].score2);
printf("成績3:");
scanf("%f",&student[i].score3);
student[i].ave=(student[i].score1+student[i].score2+student[i].score3)/3.0;
n++;
printf("是否要繼續?<y or n>");
k=keep();
if(k==1)
continue;
else
{
break;
}
}
return n;
}
void display(struct msg student[],int n) //排序函數,多次調用
{
int i,j,temp1;
char temp2[20];
double temp;
printf("\t學號 \t姓名 \t平均成績\n");
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(student[j].ave<student[j+1].ave)
{
temp=student[j].ave;
student[j].ave=student[j+1].ave;
student[j+1].ave=temp;
temp1=student[j].num;
student[j].num=student[j+1].num;
student[j+1].num=temp1;
strcpy(temp2,student[j].name);
strcpy(student[j].name,student[j+1].name);
strcpy(student[j+1].name,temp2);
}
}
}
for(i=0;i<n;i++)
printf("\t%d \t%s \t%f\n",student[i].num,student[i].name,student[i].ave);
}
void in(struct msg student[],int n) //插入函數
{
int k;
k=n+1;
printf("\n請輸入要插入學員的信息\n");
student[n].num=k;
printf("\n學號:%d\n",student[n].num);
printf("姓名:");
fflush(stdin);
gets(student[n].name);
printf("\n三門成績:");
printf("\n成績1:");
scanf("%f",&student[n].score1);
printf("成績2:");
scanf("%f",&student[n].score2);
printf("成績3:");
scanf("%f",&student[n].score3);
student[n].ave=(student[n].score1+student[n].score2+student[n].score3)/3.0;
printf("\n插入新學員後學員的信息如下\n");
display(student,k);
}
void cut(struct msg student[],int n)//刪除函數
{
int i,k1,j,m;
printf("輸入要刪除的學員的學號:");
scanf("%d",&k1);
for(i=0;i<n;i++)
{
if(student[i].num==k1)
break;
}
for(j=i;j<n-1;j++)
{
student[j].num=student[j+1].num;
strcpy(student[j].name,student[j+1].name);
student[j].ave=student[j+1].ave;
}
m=n-1;
printf("\n刪除後學員的信息如下:\n");
display(student,m);
}
這個也是和你差不多的學生成績設計,對其進行排序,刪除,添加,研究一下你那個應該就差不多了
⑼ c語言程序設計實驗報告
五、 課程設計小結心得體會
1設計思想
1)、設定一個一維數組,可先按員工序號設定每位員工的工資
2)、利用While語句和Prinft語句完成用戶菜單的設計
功能為:第1項 設為員工編號和工資數據
第2項 設為修改員工工資數據
第3項 設為查詢員工工資數據
第4項 設為結束系統
3)、當用戶選擇1、2項時,需輸入員工編號,所以需要設計編號校正功能,如果出錯可輸出「The error employe number」
4)、當選擇2時,進行工資數據的修改,並將新數據存回該員工的工資數組中
5)、利用for循環中判斷語句,將用戶工資數與數組中的工資數進行比較,如相同則輸出,將計數器加1,如此下去,直到把整個數組遍歷一遍
6)、判斷計數器是否為0, 是0表示找不到相符的工資,如果不為0,則輸出共查出幾比相符的工資
以上當然裡面也涉及了「函數的模塊化」理念,可以避免但需要重復列印頭文件時重復編寫列印信頭的語句。像這樣的程序是多見的,這樣不但降低了程序還發效率,而且耗時浪費資源「共用體」的使用簡化了程序的「復雜」性,正如(4)中,學號與姓名同時表示一個人,但在函數使用了「共用體」,從而程序的簡單可以便於糾錯,查找問題,避免了代碼的重復,這樣就給編譯時帶來了一定的難度與「量」的繁雜。一般不採取這樣的做法,力求「簡單、明了、清晰」。
⑽ 怎樣做C語言程序設計報告
這是我們的設計報告,你可以有個參考
計算機科學技術繫上機實踐報告
課程名稱:c語言設計 年級: 上機實踐成績:
指導教師:XXX 姓名:
上機實踐名稱: 學號: 上機實踐日期:
上機實踐編號: 組號: 上機實踐時間:2學時
一、目的
對話框、游標、字元串、點陣圖
二、內容與設計思想
1.游標的使用:設計一個自定義游標,通過菜單選擇使用ARROW、WAIT和一個自定義游標。
2.點陣圖的使用:設計四個點陣圖。
3.對話框的使用: 3.1 設計一個模式對話框,復選四個點陣圖的顯示。 3.2 設計一個無模式對話框,單選一個點陣圖進行顯示。 3.3 設計一個打開文件通用對話框,通過消息框顯示獲取的文件名。
4.字元串的使用:在客戶區顯示的文字採用字元串資源定義的方法。所顯示的文字信息不在程序中出現。
5.中英文菜單切換:將菜單項的顯示文字定義為字元串資源,或者通過菜單整體切換。
三、使用環境
VS2010
四、調試過程
問題:出現如下錯誤:<1>error C2664: 「TextOutW」: 不能將參數4 從「char *」轉換為「LPCWSTR」
與指向的類型無關;轉換要求reinterpret_cast、C 樣式轉換或函數樣式轉換
解決:頭文件添加#include<tchar.h>,然後將字元串用_T(「」)括起來。
<2>無法畫出圖標文件。
解決:在WM_COMMAND中未響應其選項
<3>無法畫出不同位置的圖標文件。
解決:圖標文件的ID(連續的),做一個FOR循環
<4>動態菜單的添加
解決:通過老師的實例來完成。
出現的困難:(1)中英文的轉化。
解決方案:建立兩個菜單資源,一個是中文的,一個是英文的。看響應的是哪個。如果是中文的,就調用第一個菜單資源,如果是英文的,就調用第二個菜單資源。
(2)無模式對話框的設計與實現。
解決方案:在設計無模式對話框的時候,只要選中了哪個選項,就直接返回數據,不用通過IDOK來確認。
五、總結
在上機操作的過程中,也出現了一些意想不到的問題。出現錯誤之後,學會看看老師的實常式序,在對比中完成自己的作業。在解決問題的過程中,也學到了新的東西。
六、附錄
Homework3.RAR
另外,團IDC網上有許多產品團購,便宜有口碑