给一段简单的编程加结构体

问题描述

给一段简单的编程加结构体
#include
#include

int ijxttn=-1f[100]={0};
float a1[100]a2[100]a3[100]a[100]t;
char num[100][5]cla[100][5]name[100][11]
x1[100]=""yes""x2[100]=""yes""x3[100]=""yes""temp[100];

void menu();
void input();
void inputonce();
void delete();
void deleteonce();
void select();
void selectonce();
void order();
void swap(intint);
void output();

int main()
{
menu();
return 0;
}

void menu()
{
printf(""1.inputn"");
printf(""2.deleten"");
printf(""3.selectn"");
printf(""4.ordern"");
printf(""5.outputn"");
printf(""6.quitn"");
printf(""please input your optionn"");
scanf(""%d""&x); getchar();
switch(x)
{
case 1:input(); break;
case 2:delete(); break;
case 3:select(); break;
case 4:order(); break;
case 5:output(); menu(); break;
case 6:return;
}

}

void input()
{
while (strcmp(x1no"")!=0) inputonce();
menu();
}

void inputonce()
{
n++;
printf(""Id "");
gets(num[n]);
printf(""class "");
gets(cla[n]);
printf(""name "");
gets(name[n]);
printf(""score1 "");
scanf(""%f""&a1[n]); getchar();
printf(""score2 "");
scanf(""%f""&a2[n]); getchar();
printf(""score3 "");
scanf(""%f""&a3[n]); getchar();
a[n]=a1[n]+a2[n]+a3[n];
printf(""continue?n"");
gets(x1);
}

void delete()
{
while (strcmp(x2no"")!=0) deleteonce();
menu();

}

void deleteonce()
{
gets(temp);
for (i=0;i<=n;i++)
if ((strcmp(num[i]temp)==0)||(strcmp(name[i]temp)==0))
f[i]=1;
output();
printf(""continue?n"");
gets(x2);
}

void select()
{
while (strcmp(x3no"")!=0) selectonce();
menu();
}

void selectonce()
{
gets(temp);
for (i=0;i<=n;i++)
if (((strcmp(num[i]temp)==0)||(strcmp(cla[i]temp)==0))&&(f[i]==0))
printf(""%s%s%s%4.1f%4.1f%4.1f%5.1fn""num[i]cla[i]name[i]a1[i]a2[i]a3[i]a[i]);
printf(""continue?n"");
gets(x3);
}

void order()
{
for (i=0;i for (j=i+1;j if ((strcmp(cla[i]cla[j])>0) || ((strcmp(cla[i]cla[j])==0) && (a[i]<a[j])))
swap(ij);
output();
menu();
}

void swap(int iint j)
{
strcpy(tempnum[i]);
strcpy(num[i]num[j]);
strcpy(num[j]temp);

strcpy(tempname[i]);strcpy(name[i]name[j]);strcpy(name[j]temp);strcpy(tempcla[i]);strcpy(cla[i]cla[j]);strcpy(cla[j]temp);t=a[i];a[i]=a[j];a[j]=t;t=a1[i];a1[i]=a1[j];a1[j]=t;t=a2[i];a2[i]=a2[j];a2[j]=t;t=a3[i];a3[i]=a3[j];a3[j]=t;tt=f[i];f[i]=f[j];f[j]=tt;

}

void output()
{
for (i=0;i<=n;i++)
if (f[i]==0)
printf(""%s%s%s%4.1f%4.1f%4.1f%5.1fn""num[i]cla[i]name[i]a1[i]a2[i]a3[i]a[i]);
}

解决方案

http://zhidao.baidu.com/link?url=q--W6Xt1QvmQ5RDecpqDSNIi_j_6JwjJe9MZpTjt0wf08pD7l-ajNtjyNwlCIR7B7TEpdeW3EbkIQGMB2m63qq

时间: 2024-11-04 18:33:00

给一段简单的编程加结构体的相关文章

c# 结构 数组-帮忙看一段c#程序,关于结构体的

问题描述 帮忙看一段c#程序,关于结构体的 public struct MyStruct { public double Distance; public double Intensity; } MyStruct[,] LaserInfo = new MyStruct[3600*12, 3]; 最后一行是什么意思呢 解决方案 3600*12行,每行3列的数组

Python中使用装饰器和元编程实现结构体类实例_python

Ruby中有一个很方便的Struct类,用来实现结构体.这样就不用费力的去定义一个完整的类来仅仅用作访问属性. 复制代码 代码如下: class Dog < Struct.new(:name, :age) end fred = Dog.new("fred", 5) printf "name:%s age:%d", fred.name, fred.age ##name:fred age:5 Python3.4中也可以这么干,但写法很累赘.其中包含self.nam

Linux C Socket编程发送结构体、文件详解及实例

利用Socket发送文件.结构体.数字等,是在Socket编程中经常需要用到的.由于Socket只能发送字符串,所以可以使用发送字符串的方式发送文件.结构体.数字等等. 本文:http://www.cnblogs.com/xudong-bupt/p/3496741.html 1.memcpy Copy block of memory.内存块拷贝函数,该函数是标准库函数,可以进行二进制拷贝数据. 函数原型: void * memcpy ( void * destination, const voi

详解C++程序中定义struct结构体的方法_C 语言

什么是结构体?简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同. 结构体的定义 定义结构体使用struct修饰符,例如: struct

c语言的结构体

什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同. 定义结构体使用struct修饰符,例如: struct test

C/C++中的结构体

什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同. 定义结构体使用struct修饰符,例如: struct test

Foundation框架—结构体

一.基本知识 Foundation-基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了. 即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用 创建变量 (二)NSPo

C++中结构体的的慨念和使用方法

什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同. 定义结构体使用struct修饰符,例如: C++ 代码 struc

html-如下一段简单的HTML-CSS代码,为何加了overflow就能实现目的?

问题描述 如下一段简单的HTML-CSS代码,为何加了overflow就能实现目的? 目的:HTML中两块div,右侧固定宽度200px,左边的填满剩下的宽度 要求:左侧的div宽度是随可视区宽度变化而变化的,不能用calc()和CSS预处理语言 HTML: <div class="right"></div> <div class="left"></div> CSS: .left { overflow: hidden;