文档库 最新最全的文档下载
当前位置:文档库 › C++练习题源代码

C++练习题源代码

C++练习题源代码
C++练习题源代码

C++练习题源代码

标题: 1、字符串输入输出

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:

编写一个简单的控制台应用程序,先输入姓名,如“John”,再输出问候语,如“Hello,John!”。

输入: John

输出: Hello, John! 输入样例: John

输出样例: Hello,John!

提示:1、使用string类定义字符串对象,需包含头文件

2、使用cin和提取符>>从键盘输入数据,使用cout和插入符<<输出结果到屏幕,需包含头文件

3、注意使用名称空间std。

#include

#include

using namespace std;

int main()

{

string szName;

cin >> szName;

cout << "Hello, " << szName << "!" << endl;

return 0;

}

标题: 2、求3个数的平均值

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:从键盘上输入3个浮点数,求这3个数的平均值。

输入: 3个浮点数

输出: 3个数的平均值

输入样例: 1.5 1.6 1.3 输出样例: 1.46667

提示:1、用using namespace std;明确名字空间

2、用cin对象,采用>>运算符输入数据

3、用cout对象,采用<<运算符输出数据

#include

using namespace std;

int main()

{

float x1, x2, x3;

cin>>x1>>x2>>x3;

cout<<(x1+x2+x3)/3<

}

标题: 3、求鞍点

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:输入一个二维矩阵,找出其中所有鞍点。如果矩阵有鞍点,则输出鞍点的信息:行号、列号、值;

如果没有鞍点,则输出“Not found!”。

所谓“鞍点”,是指满足以下条件的矩阵中的一个数:在它所在的行上最小、所在列上最大。该题中假设矩阵中任意两个数互不相等。

输入:输入数据有多行:

第一行是矩阵的行数m和列数n

从第二行起共包含m行,每行包含n个数,为矩阵的一行数据

输出:如果矩阵有鞍点,输出鞍点的信息,包括:所在行、所在列、值如果没有鞍点,输出Not found!

输入样例:3 4

11 23 56 47

12 45 66 90 16 77 34 18

输出样例: 2016

提示:

1、要求用动态内存分配来完成,可用new和delete实现;

2、屏幕输出只有2 0 16(加回车换行),不能有其它信息。

// SaddlePoint.cpp : 定义控制台应用程序的入口点。

//

#include

using namespace std;

int main()

{

int **mat;

int *matRow, *matCol;

int nMaxRow=0, nMaxCol=0;

bool bFind=false;

int nTargetRow=0, nTargetCol=0, nSaddlePoint=0;

int i, j;

//cout << "Please input the number of rows and the number of columns:" << endl;

cin >> nMaxRow >> nMaxCol;

//Allocate memories for the two dimensional matrices

mat = new int *[nMaxRow];

for (i=0; i

mat[i] = new int[nMaxCol];

matRow = new int[nMaxRow]; //Buffers to save the minimum element in each row

matCol = new int[nMaxCol]; //Buffers to save the maximum element in each column

//Input the elements

//cout << "Please input the elements:" << endl;

for (i=0; i

for (j=0; j

cin >> mat[i][j];

//Find the minimum element in each row

for (i=0; i

{

int nMin=mat[i][0];

for (j=1; j

{

if(mat[i][j]

}

matRow[i] = nMin;

}

//Find the maximum element in each column

for (j=0; j

{

int nMax=mat[0][j];

for (i=1; i

{

if(mat[i][j]>nMax) nMax = mat[i][j];

}

matCol[j] = nMax;

}

//Find the saddle point

for (i=0; i

{

for (j=0; j

{

if(mat[i][j]==matRow[i] && mat[i][j]==matCol[j])

{

nTargetRow = i;

nTargetCol = j;

nSaddlePoint = mat[i][j];

bFind = true;

break;

}

}

}

//Output the searched row and column and the corresponding saddle point if(!bFind)

cout << "Not found!" <

else

cout << nTargetRow << " " << nTargetCol << " " << nSaddlePoint << endl;

//Release memories

delete []matCol;

delete []matRow;

for (i=0; i

delete [] mat[i];

delete [] mat;

return 0;

}

标题: 4、链表操作

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:

建立一个链表,每个节点包括学生的学号、姓名、性别、年龄。先输入5个学生的数据,再输入一个年龄,如果链表中有年龄等于此年龄的记录,则删除所有年龄等于此年龄的记录,否则在链表的最后增加一个新节点,学号为180姓名为"aaa",性别为"male"。。

输入:

创建链表时输入5个职工的职工号和工资,学号为大于100且小于200的整数,姓名为长度小于20的字符串,性别为长度小于10的字符串,年龄为大于等于0且小于200的整数。

输出:按顺序输出链表中的所有数据,每个数据占一行。

输入样例:101 zhangsan male 30 103 lisi female 18 105 wangwu male 25 107 maliu male 28 109 niuqi female 22 28

输出样例:101 zhangsan male

30

103

lisi female 18

105 wangwu male

25

109

niuqi female 22

提示:要求用动态内存分配实现,注意new和delete的使用。

标题: 1. 函数重载

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:

设计一菜单程序,利用函数重载实现员工月工资的计算,计算方法如下:

(1)管理人员的月工资=月薪-缺勤天数× 月薪÷ 22;

(2)销售人员的月工资=底薪 + 销售金额× 提成比例;

(3)计件工人的月工资=产品件数× 每件报酬;

(4)计时工人的月工资=工作小时× 小时报酬;

输入:职工类别及相关信息。

职工类别:1表示管理人员;2表示销售人员;3表示计件工人;4表示计时工人;其余字符表示退出。

相关信息:若为管理人员,则输入月薪和缺勤天数;若为销售人员,则输入底薪、销售金额和提成比例;若为计件工人,则输入产品件数和每件报酬;若为计时工人,则输入工作小时和小时报酬。

输出:员工月工资。

输入样例:

1 〈--职工类别

5000.0 1〈--月薪和缺勤天数输出样例: 4772.73

提示:1. 计算管理人员、销售人员、计件工人、计时工人的月工资的函数原型可以分别设计如下:

double getEarning(double salary, int absenceDays);

double getEarning(double baseSalary, double salesSum, double rate);

double getEarning(int workPieces, double wagePerPiece);

double getEarning(double hours, double wagePerHour);

2. 菜单程序设计如下:

int main()

{

...

cout << "Please select..." << endl;

cout << "1: Manager." << endl;

cout << "2: Sales Man." << endl;

cout << "3: Pieces Worker." << endl;

cout << "4: Hour-Worker." << endl;

cout << "Others: Quit" << endl;

cin >> sel;

switch(sel)

{

case 1:

cin >> ...;

cout << getEarning(...);

break;

case 2:

cin >> ...;

cout << getEarning(...);

break;

case 3:

cin >> ...;

cout << getEarning(...);

break;

case 4:

cin >> ...;

cout << getEarning(...);

break;

default:

break;

}

return 0;

}

#include

using namespace std;

double getEarning(double salary ,int absenceDays)

{

return (salary -salary*absenceDays/22);

}// admin

double getEarning(double baseSalary ,double salesSum,double rate) {

return (baseSalary + salesSum*rate);

}

double getEarning(int workPieces,double wagePerPiece)

{

return (workPieces*wagePerPiece);

}

double getEarning(double hours ,double wagePerHour)

{

return (hours*wagePerHour);

}

int main()

{

int kind = 0 ;

cout << "Please select..." << endl;

cout << "1: Manager." << endl;

cout << "2: Sales Man." << endl;

cout << "3: Pieces Worker." << endl;

cout << "4: Hour-Worker." << endl;

cout << "Others: Quit" << endl;

cin >> kind ;

switch(kind)

{

case 1:

{

double salary ;

int abDays;

cin>>salary>>abDays;

cout<

break;

}

case 2:

{

double base ;

double salesSum;

double rate;

cin>>base>>salesSum>>rate;

cout<

break;

}

case 3:

{

int workPieces;

double wagePerPiece;

cin>>workPieces>>wagePerPiece;

cout<

break;

}

case 4:

{

double hours;

double wagePerHour;

cin>>hours>>wagePerHour;

cout<

break;

}

default:

break;

}

// cout<

// cout<

// cout<

// cout<

return 0 ;

}

标题: 2. 引用传递

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:设计一个函数,将两个浮点数传入,然后通过引用把其和、差、积传出。

函数原型如下:void Math(float a,float b,float &sum,float

&sub,float &pro);

输入:输入两个浮点数

输出:输出两个浮点数的和、差、积。

输入样例: 6.5 2.3

输出样例: 8.8 4.2 14.95

#include

using namespace std;

void Math(float a , float b ,float& sum,float &sub,float&pro) {

sum = a+ b ;

sub = a-b ;

pro = a*b ;

}

int main()

{

float sum = 0 ;

float sub = 0 ;

float pro = 0 ;

float a = 0 ;

float b = 0 ;

cin>>a>>b;

Math(a,b,sum,sub,pro);

cout<

}

标题: 3. 函数模板

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:

设计一个函数模板,实现两个同类型数据的交换。

将设计好的函数模板分别实例化为两个整型数交换、两个字符交换的模板函数,调用这些函数并输出运行结果。

输入:分别输入两个整型数和两个字符

输出:分别输出两个整型数和两个字符交换的结果输入样例: 5 9

输出样例: 9 5

#include

using namespace std;

template

T cg(T &a ,T& b)

{

T c ;

c = a ;

a =

b ;

b =

c ;

}

int main()

{

int a = 0 ;

int b = 0 ;

char c = 0 ;

char d = 0 ;

cin>>a>>b>>c>>d;

cg(a,b);

cg(c,d);

cout<

return 0 ;

}

标题: 4. 默认形参值

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:设计一个求空间两点距离的函数,要求第2个点的默认值为坐标原点。

输入:两个点的坐标。

输出:输出第一个点与原点之间的距离及输入的两个点之间的距离。

输入样例:1 1 1 5 5 5

输出样例:1.73205 6.9282

提示:函数原型可设计如下:

float distance(float x1,float y1,float z1, float x2=0,float y2=0,float z2=0);

#include

#include

using namespace std;

float distance(float x1,float y1,float z1,float x2=0,float y2=0,float z2=0) {

return sqrt(pow(x1-x2,2)+pow(y1-y2,2)+pow(z1-z2,2));

}

int main()

{

float x1 = 0 ;

float x2 = 0 ;

float y1 = 0 ;

float y2 = 0 ;

float z1 = 0 ;

float z2 = 0 ;

cin>>x1>>y1>>z1>>x2>>y2>>z2;

cout<

cout<

return 0 ;

}

标题:类的定义_静态常量

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:设计并实现一个圆柱类Cylinder,要求:

(1)设计两个double型的私有数据成员:高度height和底圆半径radius。

(2)设计一个double型的公有静态常量数据成员pi(其值初始化为3.1415926),以及一个获取该常量的公有静态成员函数GetPI。

(3)在构造函数的初始化列表中初始化高度height和底圆半径radius。

(4)设计用于获取半径的成员函数GetRadius、获取高度的成员函数GetHeight、设置半径的成员函数SetRadius、设置高度的成员函数SetHeight。

(5)设计用于计算圆柱体积的成员函数Volume()、计算圆柱表面积的成员函数Area。

在main函数中:

根据输入的高度和半径构造圆柱对象,并输出圆柱的基本信息、体积和表面积。

输入:圆柱的高度和底圆半径

输出:圆周率pi、圆柱高度、底圆半径、圆柱的体积和表面积

输入样例: 2.0 1.0

输出样例: pi=3.14159, height=2, radius=1:volume=6.28319, area=18.8496 #include

using namespace std;

class Cylinder

{

public:

Cylinder(double h, double r):height(h),radius(r)

{

}

double Volume()

{

return pi*radius*radius*height;

}

double Area()

{

return 2.0*pi*radius*(radius+height);

}

static double GetPI()

{

return pi;

}

double GetHeight()

{

return height;

}

double GetRadius()

{

return radius;

}

void SetHeight(double h)

{

height = h;

}

void SetRadius(double r)

{

radius = r;

}

private:

double height;

double radius;

static const double pi;

};

const double Cylinder::pi = 3.1415926;

int main()

{

double h, r;

cin >> h >> r;

Cylinder cl(h,r);

cout << "pi=" << Cylinder::GetPI() << ", height=" << cl.GetHeight() << ", radius=" << cl.GetRadius() << ":";

cout << "volume=" << cl.Volume() << ", area=" << cl.Area() << endl;

return 0;

}

标题:类的定义_深拷贝

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:设计并实现一个动态整型数组类Vect,要求:

(1)实现构造函数重载,可以根据指定的元素个数动态创建初始值为0的整型数组,或根据指定的内置整型数组动态创建整型数组。

(2)设计拷贝构造函数和析构函数,注意使用深拷贝。

(3)设计存取指定位置的数组元素的公有成员函数,并进行下标越界,若越界则输出“out of boundary”。

(4)设计获取数组元素个数的公有成员函数。

(5)设计用于输出数组元素的公有成员函数,元素之间以空格分隔,最后以换行符结束。

在main函数中按以下顺序操作:

(1)根据内置的静态整型数组{1,2,3,4,5}构造数组对象v1,根据输入的整型数构造数组对象v2。

(2)调用Vect的成员函数依次输出v1和v2的所有元素。

(3)输入指定的下标及对应的整型数,设置数组对象v1的指定元素。(4)根据数组对象v1拷贝构造数组对象v3。

(5)调用Vect的成员函数依次输出v1和v3的所有元素。

输入:用于构建数组对象v2的元素个数

用于设置数组对象v1的指定下标及元素值

输出:

数组对象v1和v2的所有元素

数组对象v1和v3的所有元素

输入样例:10 6 6

输出样例:1 2 3 4 5

0 0 0 0 0 0 0 0 0 0 out of boundary

1 2 3 4 5

1 2 3 4 5

#include

using namespace std;

class Vect

{

public:

Vect(int n=0);

Vect(int arr[], int n);

Vect(const Vect& v);

~Vect();

int Size()

{

return arrSize;

}

int GetData(int i)

{

if(i<0 || i>=arrSize)

{

cout << "out of boundary" << endl; }

else

return arrData[i];

}

void SetData(int i, int val)

{

if(i<0 || i>=arrSize)

{

cout << "out of boundary" << endl; }

else

arrData[i] = val;

}

void PrintData()

{

if(arrSize>0) cout << arrData[0];

for(int i=1; i

{

cout << " " << arrData[i];

}

cout << endl;

}

private:

int arrSize;

int *arrData;

};

Vect::Vect(int n):arrSize(n)

{

arrData = new int[arrSize];

for(int i=0; i

{

arrData[i] = 0;

}

}

Vect::Vect(int arr[], int n):arrSize(n)

{

arrData = new int[arrSize];

for(int i=0; i

{

arrData[i] = arr[i];

}

}

Vect::Vect(const Vect& v):arrSize(v.arrSize) {

arrData = new int[arrSize];

for(int i=0; i

{

arrData[i] = v.arrData[i];

}

}

Vect::~Vect()

{

if(arrData)

{

delete[] arrData;

arrSize = 0;

}

}

int main()

{

int arr[] = {1,2,3,4,5}; int n;

cin >> n;

Vect v1(arr,5),v2(n);

v1.PrintData();

v2.PrintData();

int i, data;

cin >> i >> data;

v1.SetData(i, data);

Vect v3(v1);

v1.PrintData();

v3.PrintData();

return 0;

}

标题:虚基类

时限: 3000 ms

内存限制: 10000 K

总时限: 3000 ms

描述:(1)定义人员类Person:

公有成员:姓名(Name);

保护成员:性别(Gender),年龄(Age);

构造函数和析构函数

(2) 从人员类Person派生学生记录类StudentRecord:添加公有成员:学号(Number),班级(ClassName),添加静态公有成员:学生总人数(TotalCount);

添加保护成员:平均成绩(Score);

实现构造函数和析构函数。

(3) 从人员类Person派生教师记录类TeacherRecord:

添加公有成员:学院(CollegeName),系(DepartmentName);

添加保护成员:教龄(Year);

实现构造函数和析构函数。

(4)从学生记录类StudentRecord和教师记录类TeacherRecord派生学生

助教类TeachingAssistant:

添加公有成员:辅导课程(LectureName);

实现公有函数:显示人员信息(Show),屏幕打印姓名,性别,年龄,

学号,班级,学生总人数,平均成绩,学院,系,教龄,辅导课程。

实现构造函数和析构函数。为检验类间结构设计是否正确,设计函数void

SetName(String name)实现更改一名助教的姓名的功能。

创建一个助教类的对象

助教

姓名性别年龄学号班级平均成绩学院系教龄辅导课程

郑七男 22 2010123 软20101 89 信息软件 1 数据结构

显示其信息。

调用更改姓名的函数,更改其姓名为“郑八”,并再次显示其信息。

输入:无

输出:显示构造的信息和更改前和更改后的助教信息

输入样例:无

输出样例:Person郑七constructed

Student郑七constructed

teacher郑七constructed

teachingassistant郑七constructed

Name:郑七 Gender:男 Age:22 Number:2010123 ClassName:软20101 TotalCount:1 Score:8

9 CollegeName:信息 DepartmentName:软件 Year:1 LectureName:数据结构

Name:郑八 Gender:男 Age:22 Number:2010123 ClassName:软20101 TotalCount:1 Score:8

9 CollegeName:信息 DepartmentName:软件 Year:1 LectureName:数据结构

teachingassistant郑八destructed

teacher郑八destructed

Student郑八destructed

Person郑八destructed

提示:各类的构造函数和析构函数都有输出。

调用公有函数Show,以分别显示各个记录的人员信息。在派生助教类时,使用虚基类。

#include

#include

using namespace std;

class Person

{

protected:

string Gender;

int Age;

public:

string Name;

Person(string gender, int age, string name)

{

Gender = gender;

Age = age;

//Name = new char[strlen(name)+1];

//strcpy(Name,name);

Name = name;

cout<<"Person"<

}

~Person()

{

cout<<"Person"<

// delete [] Name;

// delete [] Gender;

}

/* void Show()

{

cout<<"Name:"<

}*/

};

class StudentRecord : virtual public Person

{

protected:

int Score;

public:

string Number;

string ClassName;

static int TotalCount;

StudentRecord(string number, string classname, int score, string gender, int age, string name):Person(gender, age, name)

{

//Number = new char[strlen(number)+1];

//strcpy(Number,number);

Number = number;

//ClassName = new char[strlen(classname)+1];

//strcpy(ClassName,classname);

ClassName = classname;

Score = score;

++TotalCount;

cout<<"Student"<

}

~StudentRecord()

{

//delete [] ClassName;

//delete [] Number;

--TotalCount;

cout<<"Student"<

}

/* void Show()

{

cout<<"Name:"<

"<<"Age:"<

}*/

};

int StudentRecord::TotalCount = 0;

class TeacherRecord : virtual public Person

{

protected:

int Year;

public:

string CollegeName;

string DepartmentName;

TeacherRecord(string collegename, string departmentname, int year, string gender, int age,string name):Person(gender, age, name)

{

//CollegeName = new char[strlen(collegename)+1];

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

C语言课程设计――飞机订票系统源代码

#include//标准输入、输出头文件 #include//包含字符串函数处理头文件 #include//包含access函数的头文件 #define N 99//定义最多的航班数 #define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式struct air//定义结构体数组{int num;//定义航班号 char start[20];//航班起始站 char over[20];//终点站 char time[10];//飞行时间 int count;//机票数量 }s[N]; int i,m=0;//定义全局变量 char ii[10]; void add();//函数声明增加航班信息函数 void print();//显示航班信息 void search();//查找航班信息 void dingpiao();//订票业务 void tuipiao();//退票 void read();//读取文件 void save();//保存文件

void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小 void main()//主函数{int j; chushihua();//系统初始化判断是否存在原始数据文件 printf("欢迎使用飞机订票系统\n");//打印出系统主界面 do{printf("============================================================= =================== "); printf(" 1.增加航班信息\n" "\t 2.浏览航班信息\n" "\t\t 3.查找航班信息(按航班号)\t\t╮(╯_╰)╭\n" "\t\t\t 4.航班排序(按航班号)\n" "\t\t\t\t 5.订票业务\n" "\to(︶︿︶)o\t\t\t

c语言课程设计报告会员卡计费系统源代码

#i n c l u d e//编译预处理指令,引入头文件 #include #include #include #define MAX 10 //自定义符号常量 #define MENU_MAIN_COUNT 7 //主菜单的选项个数 typedef struct member //定义结构体类型member,采用链式存储结构{ char name[MAX]; //姓名 char id[MAX]; //卡号 char sex[2]; //性别 int age; //年龄 float money; //余额 char tel[12]; //电话 struct member *next; //定义一个指针指向下一个会员信息 float cost; //消费金额 }mem; //定义结构体变量mem /*声明函数*/ void menu(); /*声明函数,声明菜单函数*/ void save(mem *p); //声明保存函数 mem *head=NULL; //头指针为NULL mem* get_last(mem *p) //取得链表最后一个元素的节点指针并返回该指针 { if(p->next == NULL) { return p; } else { get_last(p->next); } } void creat_member(mem *pNew) //输入信息操作,会员登记函数 { //创建一个新的会员 char s; printf("卡号:"); scanf("%s",pNew->id); //运用指针输

c语言课程设计源代码

c语言课程设计源代码标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"};

char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s

C语言日历显示课程设计报告(含源代码)

高级语言程序设计课程设计题目: 专业计算机类 班级计算机类1102 学生 学号 指导教师_______________ 起止时间2012.2.13——2012.2.17 2012年2月

目录 实验报告 (3) 必做题: (3) 选做题: (8) 题目10 写一个日历显示程序 (8) 流程图:(如下) (14) 工程代码: (19) 心得体会 (24)

实验报告 必做题: (1)编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2。具体比较方法是随机生成一组(≥300个)的100以内的整数数据,用选定的2种排序方法进行排序。纪录排序过程中数据比较和交换的次数,输出比较结果。 #include #include int main(void) { int a[300],b[300]; int i,j,temp,t; int s=0,p=0,s1=0,p1=0; for(i=0;i<300;i++) { a[i]=rand()%100; b[i ]=a[i]; } for(i=0;i<299;i++){ for(j=i+1;j<300;j++) { if(a[i]

{ t=i; for(j=i+1;j<300;j++) { if(b[t]

C语言课程设计_职工信息管理系统_单链表实现程序源代码

//C语言课程设计职工信息管理系统—单链表实现 #include "stdio.h" #include "stdlib.h" #include "string.h" int saveflag=0; /*是否需要存盘的标志变量*/ struct employee { char name[15]; char num[10];/* 工号 */ char sex[4]; char bm[15]; char zc[20]; int gz; }; typedef struct node { struct employee data; struct node *next; }Node,*Link; //Link l (注意是:字母l不是数字1) void add(Link l); void disp(Link l); //查看职工所有信息 void del(Link l); //删除功能 Node* Locate(Link l,char findmess[],char nameornum[]); void Qur(Link l); //查询功能 void Tongji(Link l); //统计 void Sort(Link l); //排序 void Modify(Link l); //修改功能 void save(Link l); //将单链表l中的数据写入文件 void printe(Node *p); //本函数用于打印链表中某个节点的数据内容 */ //以下4个函数用于输出中文标题 void printstart(); void Wrong(); void Nofind(); void printc();

c语言课程设计源代码

学校运动会管理系统 问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include #include #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"}; char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() //输入原始数据// { int temp = 0; printf("\t************输入界面************\n"); printf("请输入:\n运动员号码,姓名,项目名,成绩,系名:\n"); for(int i=0;i

c语言课程设计职工工资管理系统源代码

绝对可以完美运行,下面有运行图片 #include //调用库函数 #include //字符串处理 #include //控制台输入输出 #include //定义杂项函数及内存分配函数 #define N 2 //宏定义以3代替N /****************************************************************************** 函数声明 *******************************************************************************/ void enter(); int menu(); void input(); void output(); void search(); void search_employeeid(); void search_name(); void edit(); void array(); void array_basesalary(); void array_postwage(); void array_totalwage(); void statistics(); void save(); void load(); /****************************************************************************** 职工类型定义 *******************************************************************************/ struct employee { char employeeid[10]; char name[10]; char sex[10]; int age; float basesalary; float postwage; float totalwage;

c语言课程设计源代码教学文案

c语言课程设计源代 码

学校运动会管理系统 问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include #include #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"}; char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() //输入原始数据// { int temp = 0; printf("\t************输入界面************\n"); printf("请输入:\n运动员号码,姓名,项目名,成绩,系名:\n"); for(int i=0;i

c语言课程设计报告及源代码_图书馆管理系统剖析

1 设计内容、任务及基本要求 (2) 1.1 设计内容 (2) 1.2 设计任务 (2) 1.3 设计基本要求 (2) 2 总体设计思路 (4) 2.1 系统功能 (4) 2.2 各个模块之间的主要关系 (4) 2.3 总体程序框图 (5) 2.4 系统的总体流程图 (5) 3 功能模块的具体设计 (7) 3.1 main() 函数模块 (7) 3.2查询所有图书信息函数模块 (8) 3.3查询一本图书信息函数模块 (8) 3.4添加图书信息函数模块 (9) 3.5删除图书信息函数模块 (10) 3.6 借阅图书模块 (12) 4 功能模块的调试与测试 (13) 4.1主菜单运行界面 (13) 4.2查询所有图书信息模块运行界面 (13) 4.3查找某一本图书信息模块运行界面 (14) 4.4 添加图书信息模块运行界面 (16) 4.5 删除图书信息模块运行界面 (17) 4.6 借阅图书模块信息运行界面 (79) 5 总结 (22) 6 致谢 (23) 7 参考文献 (24) 9 程序清单 (25)

1.设计内容、任务以及基本要求 1.1设计内容 主要利用c语言的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C语言课程基本知识的理解与掌握,培养学生利用C语言进行软件操作的能力和技巧。 1.3基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括 a)查看所有图书的信息。 b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的

小学数学学习系统(C语言课程设计报告,有源代码)

课程设计报告 课程设计名称:C语言课程设计课程设计题目:小学数学学习系统

目录 第1章概要设计 (3) 1.1题目的内容与要求 (3) 1.2总体结构 (3) 第2章详细设计 (4) 2.1数据结构设计 (4) 2.2功能设计 (4) 2.2.1 学生信息存储模块 (4) 2.2.2 菜单选择模块 (5) 第3章调试分析 (10) 第4章使用说明 (11) 参考文献 (19) 附录(源代码) (21)

第1章概要设计 1.1题目的内容与要求 内容: 1.具有随机出题功能,且可以选择难度等级,不要混合运算功能; 2.自动评分功能,当用户电答题后能给出用户的分值; 3.查看正确答案; 4.错题重做功能。 要求: 1、用户登录; 2、程序采用文本菜单界面。 1.2总体结构 本程序主要分为5个模块(功能模块图见图1.1):1.学生信息存储模块,2.菜单选择模块,3.试题测试模块,4.得分与排名模块 图1.1

第2章详细设计 2.1数据结构设计 首先定义结构体数组存储学生信息,注册,录入学生个人信息,将学生信息储存在TXT 文档中,用指针写入文件,用while循环语句开始写入测试等级难度,保存正确结果,计算正确率,最后查看排名。 2.2 功能设计 2.2.1 学生信息存储模块 main函数实现程序的菜单操作。根据用户选择的不同选项调用不同的函数,实 现“注册”、“输入学号”、“选择难度答题”、“返回主菜单”等功能。具体情况流程图如图2.1所示: 算法1在屏幕上输出“请注册”选项; 2接受用户输入

2.2.2 图 2.2

图2.3

C语言课程设计职工信息管理系统单链表实现程序源代码

C语言课程设计职工信息管理系统单链表实现 程序源代码 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

有%d条记录已经保存.)\n",count); saveflag=0; } else { system("cls"); printf("保存文件失败,'0'条记录被保存!\n"); } fclose(fp); } xt","ab+"); else exit(0); } ....\n"); while(!feof(fp)) n",count); while(1) { menu(); printf("\t\t====>请选择:"); scanf("%d",&choose); if(choose==0) { if(saveflag==1) { getchar(); printf("\n=====>提示:资料已经改动,是否将改动保存到文件中(y/n)\n"); scanf("%c",&ch); if(ch=='y'||ch=='Y') Save(list); } //if printf("\n=====>提示:你已经退出系统,再见!\n"); break; }//if switch(choose) { case 1:Add(list); break; /* 增加职工记录 */

case 2: Del(list); break;/* 删除职工记录 */ case 3: Qur(list); break;/* 查询职工记录 */ case 4: Modify(list); break;/* 修改职工记录 */ case 5: Insert(list); break;/*插入职工记录*/ case 6: Tongji(list); break;/*统计职工记录*/ case 7: Sort(list); break;/*排序职工记录*/ case 8: Save(list); break;/* 保存职工记录 */ case 9: system("cls"); Disp(list); break; /*显示职工记录*/ default: Wrong(); getchar(); break; } //switch(choose) }//while(1) } //main() /* */

C语言课程设计 ATM机模拟操作附源码

C语言-ATM机模拟操作 程序实现功能点: a.查询:查询帐户的存款余额。按任意键返回主菜单; b.取款:输入100、500、1000、2000、5000、其它金额为取款金额,取款金额不超过帐户余额,操作后帐户余额应相应减少,之后可返回主菜单; c.存款:输入100、500、1000、2000、5000、其它金额为存款金额,存款金额不超过20000元,操作后帐户余额应相应增加。之后可返回主菜单; d.转帐:输入一个帐户号,程序判断与文件信息是否相符,储户确认无误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过帐户余额,操作后帐户余额应相 应减少。之后可返回主菜单; e.修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存放到帐户信息文件中。之后可返回主菜单; f.退出:退出系统; g.帮助:增加趣味性; h.存款时,可正可负,正表示存款,负表示取款; i.帐户信息存放在文件,储户存取款记录保存在中;(在目录下创建这两个文件) 采用模块化程序设计方法来实现,即j.main()显示主菜单、调用相关函数实现相应功能,起主控作用; k.储户一天内输错密码的次数不能超过3次,否则无法进入系统; 有效避免输入存款金额、取款金额为负数等异常情况的出现。l. 存款转出转入登录时账号密码的核对验证;较为突出的功能是注册、金额的核对。是否超过余额,是否不符合格式,是否为冲突操作。 ;100字)50(2)程序运行截图及说明(每图限到menu1可选择登录、注册功能。进入程序, 选择登录,输入账号密码,通过输入内容与文件的匹配,判断是

C语言课程设计火车票系统源代码

#include #include #include //火车票结构体类型// typedef struct Node {int num; //编号// char name[20]; //起点和终点// char time[5]; //出发时间// int price; //车票价格// int amount; //剩余数量// struct Node *next; }Node; //创建链表并输入数据// struct Node *creat() { struct Node *head,*r,*s; int i=0; char choice; head=(struct Node *)malloc(sizeof(struct Node)); head->next=NULL; r=head; do { s=(struct Node *)malloc(sizeof(struct Node)); s->next=NULL; printf("请输入第%d种火车票的信息:\n",++i); printf("请输入火车的编号:"); scanf("%d",&s->num); printf("起点和终点:"); scanf("%s",s->name); printf("出发时间:"); scanf("%s",s->time); printf("车票价格:"); scanf("%d",&s->price); printf("剩余数量:"); scanf("%d",&s->amount); r->next=s; r=s; printf("Continue?(Y/N)"); scanf("%s",&choice); }while(choice=='Y'||choice=='y'); r->next=NULL; return(head); }

c语言课程设计源代码

c语言课程设计源代码 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"}; char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s

c语言课程设计源代码

学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"}; char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student {

char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s

相关文档
相关文档 最新文档