求帮忙看看这段C语言代码的switch结构的问题

C语言新手,写了一段个人信息结构体的代码,但不知道为什么switch调用的函数不能执行。
代码如下:
#include
#include
#define N 3
//建立个人信息结构体
struct STUDNET{
int num;
char name[20];
int majornum;
char major[20];
char uni[50];
}s[N];

//声明查询信息函数
void searchnumber();
void searchmajornum();
void searchuni();

int main(){
int i,j,a;
//输入个人信息
printf("\n输入个人信息\n");
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
scanf("%d%s%d%s%s",&s[i].num,s[i].name,&s[i].majornum,s[i].major,s[i].uni);
}
//输出个人信息
printf("\n输出人才名单\n");
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(j=0;j<N;j++){
printf("%d %s %d %s %s\n",s[j].num,s[j].name,s[j].majornum,s[j].major,s[j].uni);
}
//用循环+选择结构实现不同的查询方式
while("a!=0"){
printf("\n1:输入学号查询\n");
printf("2:输入专业号查询\n");
printf("3:输入学校名查询\n");
scanf("%d",&a);
switch(a){
case 1:void searchnumber();break;//输入学号输出全部信息
case 2:void searchmajornum();break;//输入专业号输出全部信息
case 3:void searchuni();break;//输入学校名输出全部信息
default:printf("enter is error\n");
}
}

}
void searchnumber(){
int b;
int i;
printf("输入学号\n");
scanf("%d",&b);
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
if(b==s[i].num)
printf("%d %s %d %s %s\n",s[i].num,s[i].name,s[i].majornum,s[i].major,s[i].uni);
}
}

void searchmajornum(){
int c;
int i;
printf(" 输入专业号\n");
scanf("%d",&c);
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
if(c==s[i].majornum)
printf("%d %s %d %s %s",s[i].num,s[i].name,s[i].majornum,s[i].major,s[i].uni);
}
}

void searchuni(){
char d[50];
int i;
printf("输入学校名\n");
scanf("%s",&d);
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
if(strcmp(d,s[i].uni)==0)
printf("%d %s %d %s %s",s[i].num,s[i].name,s[i].majornum,s[i].major,s[i].uni);
}
}


图片说明

0

5个回答

如果流出错,记得要清理一下流的错误状态

0
weixin_44023116
weixin_44023116 我是按照书上的例子写的,不知道为什么会调用不了嘤嘤嘤
7 个月之前 回复

case 1:void searchnumber();break;//输入学号输出全部信息

不要void。。

0

switch里面的函数调用方式有问题,不能加void,直接调用函数名

0

注意逻辑结构,认真的从头看一遍,分析

0

while("a!=0")?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
switch语句,算利润
c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助
求奖金数——用switch语句
/*程序的版权和版本声明部分: * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李新鹏 * 完成日期:2013 年 10月30日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述:无 * 问题描述:求奖金数 * 程序输出:略 * 问题分析:略
两种方法由奖金求利润,并分析if和switch的异同。
企业发放的奖金根据利润提成。利润(money)低于或等于100 000元的,奖金可提成10%;利润高于100 000元,低于200 000元时,低于100 000的部分按10%提成,高于100 000的部分,可提成7.5%;利润高于200 000,低于400 000时,低于200 000的部分仍按上诉办法提成。高于200 000元的部分按5%提成;利润高于400 000低于600 000时,高于4...
编程:多分段函数求值---用switch语句构造多分支结构
问题及描述: /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李尚泽 * 完成日期:2014年10月21日 * 版 本 号:v1.0 * * 问题描述:计算函数的值。当x&lt;2时,y=x;当2&lt;=x&lt;6时,y=x*x+1;当6&lt;=x&lt...
C语言:Switch语句解决实际问题
任务代码: #include #define PRICE 12//此处以千千快递为例,每千克货物运费12RMB,定义常量宏 int main ( ) { float fWeight,fDistance,fDiscount,fFreight;//定义货物重量,运输距离,折扣,总运费 int iCase; //设定iCase用于指标250的倍数 printf("千千快递,
C语言及程序设计初步例程-25 用switch语句实现多分支结构
贺老师教学链接  C语言及程序设计初步 本课讲解例:这是星期几?#include int main() { int week; scanf("%d", &week); switch(week) { case 0: printf("Sunday\n"); case 1: printf("Monday\n");
C语言 用switch语句算工资
假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。 #include &quot;Stdio.h&quot; main() { int iWeek,iHours ; float fSalary,fTaxes; prin...
利用switch语句解决问题:成绩等级
#include int main() { int grade, rate; scanf("%d", &grade); rate = grade/10; switch(grade) { case 10: //100分 case 9: //90-99分 printf("A\n");
c语言 习题5.8参考答案(第二种解法,用switch语句)
/*  Name: xt5_8_2.c   Copyright: 允许任意copy   Author: 姚果   Date: 22-11-05 20:56  Description: 课本p105页习题5.8参考答案  第二种解法,使用switch语句 */main(){     long i;    float bonus, bon1, bon2, bon4, bon6, bon10;    i
switch 求分段函数
#include #include int main ( ) { int x, t;     double y; scanf("%d", &x); t = (x<2) + (x<6) + (x<10); //括号中的关系表达式有几个为真(1),确定了t的值,实则反映的是x的范围 switch(t) { case 3: //
及格名单----16级补考题1---结构体
Problem Description 期末考试到了,老师想让 bLue 帮忙写一个小程序,给他学生成绩表,让他筛选出及格学生的名单。 但是最近 bLue 很忙,你能帮他写出来吗? Input 输入数据有多组(数据组数不超过 100),到 EOF 结束。 对于每组数据: 第 1 行输入 1 个整数 n (1 &amp;amp;lt;= n &amp;amp;lt;= 100) 表示成绩单中的人数 接下来有 n 行,...
《C语言及程序设计》实践参考——分段函数求值switch语句版
返回:贺老师课程教学链接  项目要求【项目:分段函数求值switch语句版】从键盘输入x的值(要求为整型),根据公式1计算并输出x和y的值。要求用switch语句完成。[参考解答]解法1:各分段的标准都为2的倍数,所以,构造表达式 t= x/2,根据t的取值决定switch分支;#include #include int main ( ) { int x, y, a; scan
选择结构switch
C语言中除了if选择结构外,还有switch语句作为分支选择。 语法: switch (表达式) {     case 常量表达式1:操作语句1;     case 常量表达式1:操作语句1;     case 常量表达式1:操作语句1;     case 常量表达式1:操作语句1;     ......    default:操作语句n; } 注意: 表达式的结果值为整
c语言while,switch语句常用代码
案例1://大小写字符的转换#include <stdio.h>int main(){ char ch; printf("character >"); scanf(" %c",&ch); switch(ch) { case 'a' ... 'z': printf("你输入的是%c,=>%c\n",ch,ch-32);
c语言:switch需要注意的问题
switch(表达式) {  case 常量表达式1: 语句1; break;   case 常量表达式2: 语句2; break;   …… case 常量表达式n: 语句n; break;   default:
用switch语句求分段函数的值
/* * Copyright(c)2011,烟台大学计算机学院 * All right reserved. * 文件名称:test.cpp * 作者: 张凯 * 完成日期:2013年10月22日 * 版本号: v1.0 * 输入描述: * 问题描述: */ #include using namespace std; int main ()
简单点,switch-case的结构简单点~ C语言学习(4)
前言最近将进程看完了,但是感觉自己理解的还不是很全面,线程看不进去,就无聊看了后面的信号,看到了里面要用函数指针,自己对它一直是一知半解,翻看《C和指针》,想到了一些很有趣的东西。简化繁复的switch-case结构。函数指针C程序在调用函数时,都有一个函数入口,怎么找到这个入口呢,通过指针,每个函数名在被使用时都是由编译器转化为函数指针,从而找到函数的位置。switch-case的麻烦书上举了一个
c/c++_计算总运费_switch语句的使用
/* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:解晓东 * 完成日期:2012 年 10 月 22 日 * 版 本 号:v1.0 * * 输入描述: * 问题描述:计算总运费 * 程序输出: * 问题分析: * 算法设计: */ #
C语言笔记(3)switch、循环结构、数组备忘
记录一些贫僧可能会忘记的东东。 switch case如果后面没有加break的话会一直继续向下运行,而不是直接跳出switch选择。 例子: switch(grade) { case 'A': printf('...');break; case 'B': ...;break; default: ...; } 执行到switch的时候会把grade和case后...
第九周项目2-用switch语句计算应缴税费及税后收入
/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:田成琳 *完成日期:2013年 10月13 日 *版本号:v1.0 *对任务及求解方法的描述
计算个人所得税!switch语句
上机目的:学会使用循环控制语句解决实际问题 上机内容:编写多分支选择结构程序,根据个人月收入总额,计算出应缴税款和税后收入。 /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 徐本锡 * 完成日期:2012 年10 月27 日  * 版 本 号:v1.0 * 输入描述:个人月收入总额 * 问
用Switch语句判断消费折扣问题
package 基本语法; import java.util.Scanner; public class ProductPrice { public static void main(String[] args) { float money; Scanner scan=new Scanner(System.in); System.out.println("输入累计消费金额:
C语言 switch和if..else的区别 以及枚举的作用
C语言 switch和if..else的区别   以及枚举的作用 1.分支结构的两种形式:if/else 和 switch/case 2.两者简单的区别:前者是两个分支的选择,后者是多分支选择,各有各的使用场景。其实如果switch能实现的,if也能实现,但是要级联很多层,代码的可读性比较差,不易维护,switch本身就是分支选择,而且结构很清晰 3.下面有它们两个详细的区别,大家不用去
C语言及程序设计 实践参考——个人所得税计算器switch语句版
C语言及程序设计 实践参考——个人所得税计算器switch语句版
if和switch的两个测试小程序,时间上的效率和空间上的占用!
 在WindowsXP的Mingw下通过写了两个测试时间和空间的小程序,if和switch的对比,然后通过gcc编译出.s和.exe文件去执行。--------------------------------------------------------------------------------------1. switch.c  #include "stdio.h"#
第二十六讲项目3-分段函数求值switch版语句版
【项目3:分段函数求值switch语句版】 从键盘输入x的值(要求为整型),根据公式1计算并输出x和y的值。要求用switch语句完成。
C语言面试题----switch语句
原创2017-12-21创新教育研究中心TeachPlus     C语言面试题----分支 阅读下面的程序: # include int main() { int a = 4; switch(a > 5) { case 0: printf("this is 0\n"); break; case 1:
C语言-Switch 和case 的使用注意事项以及穿透效果的使用
switch  使用注意事项 //1、switch语句的表达式类型     //   1)可以放一个整型的变量 int num = 10;switch (num)     //   2)可以放一个整形常量  switch (10)     //   3)可以放一个返回值是整型的表达式
用Switch语句根据消费金额计算折扣
创建ProductPrice类,其功能为显示消费者所付的金额,经过打折扣后,四舍五入,再次将实际支付和找零钱数数据显示给用户。在此框架上还可以添加其他业务逻辑,便可实现较复杂的功能。代码如下package zero;import java.util.Scanner;public class ProductPrice { public static void main(String[] arg
C语言数组型函数指针,替代switch case结构
#include &amp;lt;stdio.h&amp;gt; typedef void (*KeyEvent)(void); KeyEvent pKey_Func[100]; void pFunc0(void) { printf(“Hello Kitty\n”); } void pFunc1(void) { printf(“Hello World\n”); } void main() { pKey_Func[...
C语言优化实例:一种消除嵌套switch-case的巧妙做法
我们有可能会写出或者遇到类似这样的代码: C/C++ switch (expr1) { case label11: switch (expr2) { case label21: // do something break; case label22:
《C语言及程序设计》实践参考——个人所得税计算器switch语句版
返回:贺老师课程教学链接  项目要求【项目:个人所得税计算器switch语句版】编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。(1)用switch语句完成;(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加#include int main ( ) { double dSalary,dTax=0,dNetInco
任意输入不超过6位的整型数,求数的位数,用switch语句输出各个数,并逆序输出的相关做法。c语言。
1.先来看怎么求一个整型数的位数。既然是整型,它除以10一定没有小数。那么依照此原理,将这个数除以10,直到这个数小于零,每除一次可以用count自加来计数,出完时将累加得的count输出,就是这个整型数的位数。 2.再来看看如何用switch分支语句来输出各个数:先看看switch的语法。 switch(表达式) {     case 常量:语句1;     case 常量:语句2
switch编写企业发放奖金根据利润提成...
. #include&amp;lt;stdio.h&amp;gt; int main() {     double i,sum;          scanf(&quot;%lf&quot;,&amp;amp;i);     if(i&amp;gt;1000000)         sum=400000*0.15+200000*0.03+200000*0.05+100000*0.075+100000*0.1+(i-1000000)*0.01;  ...
C语言第六篇:用switch语句实现四则运算器
switch()的简单应用
【C语言经典实例】-switch分支结构-模拟自动售货机
在本实例中,我们设计一个自动售货机的程序,运行程序,提示用户输入要选择的选项,当用户输入以后,提示所选择的内容。本程序使用switch分之语句,来解决程序中的选择问题,效果如图所示: 代码如下: #include #include void main() { int button; //定义一个字符串数组,存放商品的名称 char *good[]={"巧克力","奶油蛋糕",
switch语句 计算个人所得税和税后收入
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: * 完成日期:2013 年 10 月 26 日 * 版 本 号:v1.0 * 问题描述:编写多分支选择结构程序,根据个人月收入总额,计算出应缴税款和税后收入。 * 按2011年9月1日起我国调整的个人所得税征收办法,起征点为3500元,超
《C语言及程序设计》实践项目——利用switch语句解决问题
返回:贺老师课程教学链接 【项目1:投票表决器】设计一个投票表决器,其功能是:输入Y、y,打印agree输入N、n,打印disagree输入其他,打印lose请在下面代码的基础上,将程序补充完整#include int main( ) { char c; scanf("%c",&c); ____(1)____ { case 'Y': case 'y
长switch-case改写为函数指针调用形式
switch-case结构过长,会引起查看不方便,可以将长switch-case结构改为这种形式这种方法比较适合switch-case分支处理比较整齐的情况。 #include "stdio.h" #define FUNC_OK 0x01 #define FUNC_FAULT 0x00 enum{ PRINTA=0x01, PRINTB, PRINTC }PRINT_TYPE;
条件选择语句(if结构与switch结构)
条件选择语句包括if结构和switch结构,其中if结构在平时的应用中相对更加频繁,而switch结构应用范围相对较窄,下面详细介绍if结构与switch结构的特点及使用. if结构 if结构包括if,if-else以及if-else if-else结构。 if(条件表达式){ 若条件表达式结果为true,则执行这里的代码一次 } if(条件表达式){ 若条件表达式结果为t
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链结构 区块链层级结构