Mac系统下编写C语言如何使用windows.h和conio.h 5C

我在Mac环境下用C语言编写贪吃蛇游戏,但是头文件windows.h和conio.h无法使用,Mac下有什么替代windows.h和conio.h的头文件吗

4个回答

menuconfig 就是用这个图形库

没有替代的头文件,这是Windows上独有的头文件,你需要把你用到的函数定义什么的替换

那两个头文件是 操作系统特有的,MAC中是没有的。 根据你对游戏效果的要求,选择合适的图形库即可。如果想在终端中显示C库中有个ncurses 可以实现

你说的这两个头文件在Mac中是没有的 只能用其他函数去替换掉你想用的sleep之类的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
linux下的qt编译windows下的qt项目文件找不到windows.h和conio.h

![图片说明](https://img-ask.csdn.net/upload/201911/04/1572835574_284538.png) 哪位大佬知道这个怎么解决 我知道windows.h可以换成qt_window.h 但是下面的这个换成qt前缀的就不行了,通过搜索发现可以安装 ``` sudo apt-get install libncurses5-dev ``` 但是最后会报依赖问题错误 后来经过搜索又找到解决依赖问题 ``` sudo aptitude install libncurses5-dev ``` 还是不可行,还是会报错, 最后又找到一个帖子说可以先安装 ``` sudo apt-get install libncurses5 ``` 但是问题还是没有解决,libncurses5安装不了。 本人小白一个,求解决方法,感谢! 已经解决:更换了一个国内源 转https://www.cnblogs.com/maluscalc/p/11105467.html

直接从百科上面复制粘贴的,为什么会报错啊,头文件是stdio.h和conio.h,没显示出来

#include <stdio.h> #include <conio.h> int main(void) { clrscr(); highvideo(); cprintf("High Intesity Text\r\n"); lowvideo(); gotoxy(1,2); cprintf("Low Intensity Text\r\n"); return 0; } undefined reference to `clrscr',共6个错误,其他的类似

C语言,关于#include "stdafx.h"的问题。

#include "stdafx.h" 这句代码是什么意思是啊,为什么加上这行代码,C语言就运行不了了呢?

使用iostream和iostream.h中遇到的编程问题

运行下面两个程序为什么它的运行结果会不同,求大神解决 #include <conio.h> #include <windows.h> #include <stdlib.h> #include <iostream> void gotoxy(int x, int y)//定位光标 { COORD pos; pos.X = x * 2; pos.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } int main(void) { using std::cout; int x=0; while(x<20) { x=x+2; gotoxy(x,14); cout<<"*"; } cout<<endl; system("pause"); return 0; } #include <conio.h> #include <windows.h> #include <stdlib.h> #include <iostream.h> void gotoxy(int x, int y)//定位光标 { COORD pos; pos.X = x * 2; pos.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } int main(void) { int x=0; while(x<20) { x=x+2; gotoxy(x,14); cout<<"*"; } cout<<endl; system("pause"); return 0; }

用c语言编写图书管理系统

程序运行不下去 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> typedef struct Book{ int num; char author[30]; char name[30]; char press[30]; char date[20]; float price; char kind[20]; int total; int newtotal; int borrow; int day[10]; int usr[10]; }books; void menu() { printf(">>>以下是图书管理系统--请按要求操作<<<\n"); printf("在本系统中与执行某功能请输入相应数字:\n"); printf("请选择操作单子\n"); printf("1.借阅书籍 2.添加书籍 3.归还书籍 4.图书浏览 5.删除图书 6.修改图书信息\n"); printf(" 0.推出\n"); printf("请输入你的选择:"); } void save(books a[],int n) { int i; FILE *fp; fp=fopen("book.dat","w"); fprintf(fp,"%d\n",n); for(i=0;i<n;i++) { fprintf(fp,"%f\t%d\t%s\t%s\t%s\t%s\t%s\t%s\n",a[n].price,a[n].total,a[n].num,a[n].author,a[n].name,a[n].press,a[n].date,a[n].kind); } } int add(books a[],int n) { int i; printf("请输入要添加的书籍号:\n:"); scanf("%d",&i); if(a[i].num==0) { printf("请输入书名:"); scanf("%s",a[i].name); a[i].num=i; printf("请输入作者:"); scanf("%s",a[i].author); printf("请输入出版社:"); scanf("%s",a[i].press); printf("请输入出版日期:"); scanf("%s",a[i].date); printf("请输入价格:"); scanf("%s",a[i].price); printf("请输入种类:"); scanf("%s",a[i].kind); printf("请输入数量:"); scanf("%s",a[i].total); } else { printf("输入重复。\n"); } n++; save(a,n); } int del(books a[],int n) { int i,j,num,ret; ret=-1; system("CLS"); printf("请输入需要删除的书的编号:"); scanf("%d",&num); for(i=0;i<100;i++) { if(a[i].num==num) { for(j=i;j<100;j++) { a[j].num=a[j+1].num; strcpy(a[j].name,a[j+1].name); strcpy(a[j].author,a[j+1].author); strcpy(a[j].press,a[j+1].press); strcpy(a[j].date,a[j+1].date); a[j].price=a[j+1].price; strcpy(a[j].kind,a[j+1].kind); a[j].total=a[j+1].total; } printf("该书已经删除"); ret=i; } } if(ret==-1) { printf("没有找到相关记录"); } fflush(stdin); return ret; } int xiugai(books a[],int n) { int i,num_change,b=-1; system("CLS"); printf("输入要修改的图书编号:"); scanf("%d",&num_change); for(i=0;i<100;i++) { if(a[i].num==num_change) { getchar(); printf("修改书名: "); gets(a[i].name); printf("修改作者: "); gets(a[i].author); printf("修改出版社: "); gets(a[i].press); printf("修改出版日期: "); gets(a[i].date); printf("修改种类: "); gets(a[i].kind); printf("修改价格: "); scanf("%d",a[i].price); printf("修改总数: "); scanf("%d",a[i].total); b=i; break; } } if(i==100) { printf("未找到相关记录"); } return n; } void borrow(books a[],int n) { int i,num,fact,d,I,s; printf("请输入图书序号:"); scanf("%d",&num); fact=-1; for(i=0;i<n;i++) { if(a[i].num==num) { printf("书名:%s",a[i].name); printf("出版日期:%s",a[i].date); printf("库存:%s",a[i].total); printf("\n"); fact=i; break; } } if(fact!=-1&&a[i].total>0) { printf("请输入借书证号\n"); scanf("%d",&s); printf("请输入借书天数:"); scanf("%d",&d); for(I=0;I<10;I++) { if(a[i].usr[I]==0) { a[i].usr[I]=s; a[i].day[I]=d; a[i].total--; break; } } system("date/t"); } if(fact!=-1&&a[i].total==0) { printf("抱歉,此书已经全部借出。"); } save(a,n); } void back(books a[],int n) { int s,I,num,i,fact; printf("请输入图书序号:"); scanf("%d",&num); for(i=0;i<n;i++) { if(a[i].num==num) { printf("书名:%s",a[i].name); printf("库存:%s",a[i].total); printf("\n"); fact=i; } else { printf("输入有错或图书序号不存在\n"); break; fact=-1; } if(fact!=-1&&a[i].total==0) { printf("借阅图书证列表:"); for(I=0;I<10;I++) { if(a[i].usr!=0) { printf("[%d]-%d天",a[i].usr[I],a[i].day[I]); } } printf("请输入借书证号:"); scanf("%d",&s); for(I=0;I<10;I++) { if(a[i].usr[I]=s) { a[i].usr[I]=0; a[i].day[I]=0; break; } } a[i].total++; } } save(a,n); } void look(books a[],int n) { int i; printf("浏览所有图书信息:\n"); for(i=0;i<n;i++) { printf("图书序号:%d 图书名称:%s 作者:%s 出版社:%s 出版日期:%s 金额:%f 类别:%s 数量:%d\n",a[i].num,a[i].name,a[i].author,a[i].press,a[i].date,a[i].price,a[i].kind,a[i].total); } } int main(void) { struct Book a[100]; int n; int i; char sel; FILE *fp; if((fp=fopen("book.dat","r"))!=NULL) { fscanf(fp,"%d",&n); for(i=0;i<n;i++) { fscanf(fp,"%f%d%s%s%s%s%s%s",&a[n].price,&a[n].total,&a[n].num,&a[n].author,&a[n].name,&a[n].press,&a[n].date,&a[n].kind); } } else { printf("第一次使用该系统,请输入n和n个图书价格,数量,编号,作者,图书名称,出版社,日期,和类别:\n"); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%f%d%s%s%s%s%s%s",&a[n].price,&a[n].total,&a[n].num,&a[n].author,&a[n].name,&a[n].press,&a[n].date,&a[n].kind); } save(a,n); } while(1) { menu(); scanf("%c",&sel); switch(sel) { case '1':borrow(a,n);break; case '2':add(a,n);break; case '3':back(a,n);break; case '4':look(a,n);break; case '5':del(a,n);break; case '6':xiugai(a,n);break; case '0':printf(" 欢迎你再次使用图书信息管理系统\n");exit(0); defaule:printf("输入有误,请重新输入。\n");break; } } }

为什么我看了这个关于高校人员信息管理系统设计的代码运行时总是会说找不到“common.h”这个文件,这个那里有错误呢?

#ifndef COMMON_H_INCLUDED #define COMMON_H_INCLUDED #include<string> #include<iostream> #include<iomanip> class COMMON { protected: std::string name; bool sex; int age; std::string id; static int person_sum; static int man_sum; static int woman_sum; public: COMMON(std::string a, bool b, int c, std::string d); virtual ~COMMON(); static int get_person_sum(); static int get_man_sum(); static int get_woman_sum(); virtual void show(){} virtual void show_row(){} virtual bool change(){} std::string get_name(){return name;} bool get_sex(){return sex;} int get_age(){return age;} std::string get_id(){return id;} }; int COMMON::person_sum = 0; int COMMON::man_sum = 0; int COMMON::woman_sum = 0; int COMMON::get_person_sum() { return person_sum; } int COMMON::get_man_sum() { return man_sum; } int COMMON::get_woman_sum() { return woman_sum; } COMMON::COMMON(std::string a, bool b, int c, std::string d): name(a), sex(b), age(c), id(d) { person_sum++; if(b) man_sum++; else woman_sum++; } COMMON::~COMMON() { person_sum--; if(sex) man_sum--; else woman_sum--; } #endif // COMMON_H_INCLUDED tester.h 实验员: #ifndef TESTER_H_INCLUDED #define TESTER_H_INCLUDED #include"common.h" class TESTER: public COMMON { private: std::string laboratory; std::string title; static int tester_sum; public: TESTER(std::string a = "haha", bool b = 1, int c = 19, std::string d = "1", std::string e = "tt", std::string f = "学生"); ~TESTER(); static int get_tester_sum(); virtual void show(); virtual void show_row(); virtual bool change(); std::string get_laboratory(){return laboratory;} std::string get_title(){return title;} }; int TESTER::tester_sum = 0; int TESTER::get_tester_sum() { return tester_sum; } TESTER::TESTER(std::string a, bool b, int c, std::string d, std::string e, std::string f): COMMON(a,b,c,d), laboratory(e), title(f) { tester_sum++; } TESTER::~TESTER() { tester_sum--; } void TESTER::show() { std::cout << "实验员:\n"; std::cout << "姓名:\t\t" << name << std::endl; std::cout << "姓别:\t\t"; if(sex) std::cout << "男\n"; else std::cout << "女\n"; std::cout << "年龄:\t\t" << age << std::endl; std::cout << "ID:\t\t" << id << std::endl; std::cout << "所属实验室:\t" << laboratory << std::endl; std::cout << "职务:\t\t" << title << std::endl; } void TESTER::show_row() { std::cout << std::left << std::setw(8) << name; if(sex) std::cout << std::left << std::setw(8) << "男"; else std::cout << std::left << std::setw(8) << "女"; std::cout << std::left << std::setw(8) << age; std::cout << std::left << std::setw(16) << id; std::cout << std::left << std::setw(16) << laboratory; std::cout << std::left << std::setw(16) << title; std::cout << std::endl; } bool TESTER::change() { std::cout << "姓名:\t\t" ; std::string new_name; std::cin >> new_name; for(unsigned int i = 0; i < new_name.length(); i++) { if(new_name[i] >= '0' && new_name[i] <= '9') { std::cout << "输入非法,输入任意键返回\n"; return 1; } } name = new_name; std::cout << "姓别:\t\t"; std::string a; std::cin >> a; if(sex) man_sum--; else woman_sum--; if(a == "男") sex = 1, man_sum++; else sex = 0, woman_sum++; std::cout << "年龄:\t\t"; std::cin >> age; std::cout << "所属实验室:\t"; std::cin >> laboratory; std::cout << "职务:\t\t"; std::cin >> title; return 0; } #endif // TESTER_H_INCLUDED teacher.h 教师: #ifndef TEACHER_H_INCLUDED #define TEACHER_H_INCLUDED #include"common.h" class TEACHER: virtual public COMMON { protected: std::string department; std::string profession; std::string title; static int teacher_sum; public: TEACHER(std::string a = "xixi", bool b = 1, int c = 30, std::string d = "213", std::string e = "计算机与信息工程学院", std::string f = "计算机科学与技术", std::string g = "教师"); ~TEACHER(); static int get_teacher_sum(); virtual void show(); virtual void show_row(); virtual bool change(); std::string get_department(){return department;} std::string get_profession(){return profession;} std::string get_title(){return title;} }; int TEACHER::teacher_sum = 0; int TEACHER::get_teacher_sum() { return teacher_sum; } TEACHER::TEACHER(std::string a, bool b, int c, std::string d, std::string e, std::string f, std::string g): COMMON(a,b,c,d), department(e), profession(f), title(g) { teacher_sum++; } TEACHER::~TEACHER() { teacher_sum--; } void TEACHER::show() { std::cout << "教师:\n"; std::cout << "姓名:\t\t" << name << std::endl; std::cout << "姓别:\t\t"; if(sex) std::cout << "男\n"; else std::cout << "女\n"; std::cout << "年龄:\t\t" << age << std::endl; std::cout << "ID:\t\t" << id << std::endl; std::cout << "院系:\t\t" << department << std::endl; std::cout << "专业:\t\t" << profession << std::endl; std::cout << "职务:\t\t" << title << std::endl; } void TEACHER::show_row() { std::cout << std::left << std::setw(8) << name; if(sex) std::cout << std::left << std::setw(8) << "男"; else std::cout << std::left << std::setw(8) << "女"; std::cout << std::left << std::setw(8) << age; std::cout << std::left << std::setw(16) << id; std::cout << std::left << std::setw(16) << department; std::cout << std::left << std::setw(16) << profession; std::cout << std::left << std::setw(16) << title; std::cout << std::endl; } bool TEACHER::change() { std::cout << "姓名:\t\t" ; std::string new_name; std::cin >> new_name; for(unsigned int i = 0; i < new_name.length(); i++) { if(new_name[i] >= '0' && new_name[i] <= '9') { std::cout << "输入非法,输入任意键返回\n"; return 1; } } name = new_name; std::cout << "姓别:\t\t"; std::string a; std::cin >> a; if(sex) man_sum--; else woman_sum--; if(a == "男") sex = 1, man_sum++; else sex = 0, woman_sum++; std::cout << "年龄:\t\t"; std::cin >> age; std::cout << "院系:\t\t"; std::cin >> department; std::cout << "专业:\t\t"; std::cin >> profession; std::cout << "职务:\t\t"; std::cin >> title; return 0; } #endif // TEACHER_H_INCLUDED administrator.h 行政人员: #ifndef ADMINISTRATOR_H_INCLUDED #define ADMINISTRATOR_H_INCLUDED #include"common.h" class ADMINISTRATOR: virtual public COMMON { protected: std::string politics; std::string position; static int administrator_sum; public: ADMINISTRATOR(std::string a = "huhu", bool b = 1, int c = 39, std::string d = "176", std::string e = "群众", std:: string f = "社会主义新青年"); ~ADMINISTRATOR(); static int get_administrator_sum(); virtual void show(); virtual void show_row(); virtual bool change(); std::string get_politics(){return politics;} std::string get_position(){return position;} }; int ADMINISTRATOR::administrator_sum = 0; int ADMINISTRATOR::get_administrator_sum() { return administrator_sum; } ADMINISTRATOR::ADMINISTRATOR(std::string a, bool b, int c, std::string d, std::string e, std::string f): COMMON(a,b,c,d), politics(e), position(f) { administrator_sum++; } ADMINISTRATOR::~ADMINISTRATOR() { administrator_sum--; } void ADMINISTRATOR::show() { std::cout << "行政人员:\n"; std::cout << "姓名:\t\t" << name << std::endl; std::cout << "姓别:\t\t"; if(sex) std::cout << "男\n"; else std::cout << "女\n"; std::cout << "年龄:\t\t" << age << std::endl; std::cout << "ID:\t\t" << id << std::endl; std::cout << "政治面貌:\t" << politics << std::endl; std::cout << "职称:\t\t" << position << std::endl; } void ADMINISTRATOR::show_row() { std::cout << std::left << std::setw(8) << name; if(sex) std::cout << std::left << std::setw(8) << "男"; else std::cout << std::left << std::setw(8) << "女"; std::cout << std::left << std::setw(8) << age; std::cout << std::left << std::setw(16) << id; std::cout << std::left << std::setw(16) << politics; std::cout << std::left << std::setw(16) << position; std::cout << std::endl; } bool ADMINISTRATOR::change() { std::cout << "姓名:\t\t" ; std::string new_name; std::cin >> new_name; for(unsigned int i = 0; i < new_name.length(); i++) { if(new_name[i] >= '0' && new_name[i] <= '9') { std::cout << "输入非法,输入任意键返回\n"; return 1; } } name = new_name; std::cout << "姓别:\t\t"; std::string a; std::cin >> a; if(sex) man_sum--; else woman_sum--; if(a == "男") sex = 1, man_sum++; else sex = 0, woman_sum++; std::cout << "年龄:\t\t"; std::cin >> age; std::cout << "政治面貌:\t"; std::cin >> politics; std::cout << "职称:\t\t"; std::cin >> position; return 0; } #endif // ADMINISTRATOR_H_INCLUDED tea&admi.h 教师及行政人员: #ifndef TEAADMI_H_INCLUDED #define TEAADMI_H_INCLUDED #include"teacher.h" #include"administrator.h" class TEAADMI: public TEACHER, public ADMINISTRATOR { private: static int teaadmi_sum; public: TEAADMI(std::string a = "maomao", bool b = 1, int c = 59, std::string d = "0", std::string e = "计算机与信息工程学院", std::string f = "计算机科学与技术", std::string g = "教师", std::string h = "群众", std:: string i = "社会主义新青年"); ~TEAADMI(); static int get_teaadmi_sum(); virtual void show(); virtual void show_row(); virtual bool change(); }; int TEAADMI::teaadmi_sum = 0; int TEAADMI::get_teaadmi_sum() { return teaadmi_sum; } TEAADMI::TEAADMI(std::string a, bool b, int c, std::string d, std::string e, std::string f, std::string g, std::string h, std::string i): COMMON(a,b,c,d), TEACHER(a,b,c,d,e,f,g), ADMINISTRATOR(a,b,c,d,h,i) { teaadmi_sum++; } TEAADMI::~TEAADMI() { teaadmi_sum--; } void TEAADMI::show() { std::cout << "教师及行政人员:\n"; std::cout << "姓名:\t\t" << name << std::endl; std::cout << "姓别:\t\t"; if(sex) std::cout << "男\n"; else std::cout << "女\n"; std::cout << "年龄:\t\t" << age << std::endl; std::cout << "ID:\t\t" << id << std::endl; std::cout << "院系:\t\t" << department << std::endl; std::cout << "专业:\t\t" << profession << std::endl; std::cout << "职务:\t\t" << title << std::endl; std::cout << "政治面貌:\t" << politics << std::endl; std::cout << "职称:\t\t" << position << std::endl; } void TEAADMI::show_row() { std::cout << std::left << std::setw(8) << name; if(sex) std::cout << std::left << std::setw(8) << "男"; else std::cout << std::left << std::setw(8) << "女"; std::cout << std::left << std::setw(8) << age; std::cout << std::left << std::setw(16) << id; std::cout << std::left << std::setw(16) << department; std::cout << std::left << std::setw(16) << profession; std::cout << std::left << std::setw(16) << title; std::cout << std::left << std::setw(16) << politics; std::cout << std::left << std::setw(16) << position; std::cout << std::endl; } bool TEAADMI::change() { std::cout << "姓名:\t\t" ; std::string new_name; std::cin >> new_name; for(unsigned int i = 0; i < new_name.length(); i++) { if(new_name[i] >= '0' && new_name[i] <= '9') { std::cout << "输入非法,输入任意键返回\n"; return 1; } } name = new_name; std::cout << "姓别:\t\t"; std::string a; std::cin >> a; if(sex) man_sum--; else woman_sum--; if(a == "男") sex = 1, man_sum++; else sex = 0, woman_sum++; std::cout << "年龄:\t\t"; std::cin >> age; std::cout << "院系:\t\t"; std::cin >> department; std::cout << "专业:\t\t"; std::cin >> profession; std::cout << "职务:\t\t"; std::cin >> title; std::cout << "政治面貌:\t"; std::cin >> politics; std::cout << "职称:\t\t"; std::cin >> position; return 0; } #endif // TEA&ADMI_H_INCLUDED interface.h 界面: #ifndef INTERFACE_H_INCLUDED #define INTERFACE_H_INCLUDED #include"teacher.h" #include"tester.h" #include"administrator.h" #include"tea&admi.h" #include<stdio.h> #include<stdlib.h> #include<conio.h> /*----------------函数声明-------------------*/ void interface_login(); //初始界面 void interface_Manager(); //管理者界面 void staff_list(); //管理者清单 #include"myfun.h" /*----------------函数定义-------------------*/ void interface_Manager() //管理界面 { int n=1; while(n) { system("cls"); std::cout << "------------欢迎来到只有神知道的领域 o(*≧▽≦)ツ----------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "------------- 输入1 添加信息 -------------\n"; std::cout << "------------- 输入2 查询信息 -------------\n"; std::cout << "------------- 输入3 浏览信息 -------------\n"; std::cout << "------------- 输入4 修改信息 -------------\n"; std::cout << "------------- 输入5 删除信息 -------------\n"; std::cout << "------------- 输入6 统计信息 -------------\n"; std::cout << "------------- 输入0 返回上一级 -------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cin >> n; switch(n) { case 1:Add_information();break; case 2: { int a = 1; if(!Query_information()) break; while(a) { std::cout << "输入1 修改信息\n"; std::cout << "输入2 删除信息\n"; std::cout << "输入0 返回上一级\n"; std::cin >> a; switch(a) { case 1:Edit_information(); a = 0; break; case 2:Delete_information(); a= 0; break; } } break; } case 3: { int a=1; while(a) { Browse_information(); std::cout << "输入1 修改信息\n"; std::cout << "输入2 删除信息\n"; std::cout << "输入0 返回上一级\n"; std::cin >> a; switch(a) { case 1:Edit_information(); break; case 2:Delete_information(); break; } } break; } case 4:Edit_information(); break; case 5:Delete_information(); break; case 6:count_information(); break; } } } void interface_login() //登入界面 { int n=1; while(n) { system("cls"); std::cout << "----------欢迎进入高校人员信息管理系统 o(*≧▽≦)ツ--------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "------------- 输入1 管理员账号登入 -------------\n"; std::cout << "------------- 输入2 查询信息 -------------\n"; std::cout << "------------- 输入3 浏览信息 -------------\n"; std::cout << "------------- 输入4 统计信息 -------------\n"; std::cout << "------------- 输入5 观看制作信息 -------------\n"; std::cout << "------------- 输入0 关闭系统 -------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cin >> n; switch(n) { case 1:login(); break; case 2:if(Query_information()) std::cout << "输入任意键,返回上一级\n", getch(); break; case 3:Browse_information(); std::cout << "输入任意键,返回上一级\n"; getch(); break; case 4:count_information(); break; case 5:staff_list(); break; } } } void staff_list() //制作人员名单 { system("cls"); std::cout << "-----------------------------------------------------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "--------------Include the following members----------------\n"; std::cout << "-------------- wzy ----------------\n"; std::cout << "-------------- ToRe ----------------\n"; std::cout << "-----------------------------------------------------------\n"; std::cout << "-----------------------------------------------------------\n\n\n"; std::cout << "\n输入任意键返回主菜单…\n"; getch(); } #endif // INTERFACE_H_INCLUDED myfun.h 主要功能实现: #ifndef MYFUN_H_INCLUDED #define MYFUN_H_INCLUDED #include<vector> #include<map> #include<fstream> /*----------------成员声明-------------------*/ std::multimap<std::string, COMMON *> sear; std::vector<TESTER*> tester; std::vector<TEACHER*> teacher; std::vector<ADMINISTRATOR*> administrator; std::vector<TEAADMI*> teaadmi; /*----------------函数声明-------------------*/ void Information_load(); //信息加载 void room_delete(); //释放空间 void login(); //登入函数 void Add_information(); //添加信息 bool Query_information(); //显示查询信息 void Browse_information(); //浏览信息 void Edit_information(); //修改信息 void Delete_information(); //删除信息 void count_information(); //统计信息 /*----------------函数定义-------------------*/ void Information_load() //信息加载 { std::ifstream in; in.open("实验员.txt", std::ios::in); std::string name, id; int age; bool sex; while(in >> name) { std::string laboratory, title; in >> sex >> age >> id >> laboratory >> title; TESTER *t = new TESTER(name,sex,age,id,laboratory,title); tester.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); } in.close(); in.open("教师.txt", std::ios::in); while(in >> name) { std::string department, profession, title; in >> sex >> age >> id >> department >> profession >> title; TEACHER *t = new TEACHER(name,sex,age,id,department,profession,title); teacher.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); } in.close(); in.open("行政人员.txt", std::ios::in); while(in >> name) { std::string politics, position; in >> sex >> age >> id >> politics >> position; ADMINISTRATOR *t = new ADMINISTRATOR(name,sex,age,id,politics,position); administrator.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); } in.close(); in.open("教师&行政人员.txt", std::ios::in); while(in >> name) { std::string department, profession, title, politics, position; in >> sex >> age >> id >> department >> profession >> title >> politics >> position; TEAADMI *t = new TEAADMI(name,sex,age,id,department,profession,title,politics,position); teaadmi.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); } } void room_delete() //释放空间 { for(auto iter:tester) delete iter; for(auto iter:teacher) delete iter; for(auto iter:administrator) delete iter; for(auto iter:teaadmi) delete iter; } void login() //登入函数 { std::string com; system("cls"); std::cout << "请输入密码\n"; getchar(); std::getline(std::cin,com); if(com == "bokuwasinnsekainokamitonaru") interface_Manager(); else { std::cout << "密码错误,输入任意键返回上一级\n"; getch(); } } void Add_information()//添加信息 { system("cls"); std::cout << "请输入添加类型\n1:实验员\t2:教师\t\t3:行政人员\t4:教师及行政人员\n"; int flag; std::cin >> flag; std::string name, se, id; int age; bool sex = 0; std::cout << "ID:\t\t"; std::cin >> id; for(unsigned int i = 0; i < id.length(); i++) { if(id[i] < '0' || id[i] > '9') { std::cout << "输入非法,输入任意键返回\n"; getch(); return; } } std::multimap<std::string, COMMON *>::iterator beg, en; beg = sear.lower_bound(id); en = sear.upper_bound(id); if(beg != en) { std::cout << "此ID已存在,输入任意键返回\n"; getch(); return; } std::cout << "姓名:\t\t"; std::cin >> name; for(unsigned int i = 0; i < name.length(); i++) { if(name[i] >= '0' && name[i] <= '9') { std::cout << "输入非法,输入任意键返回\n"; getch(); return; } } std::cout << "性别:\t\t"; std::cin >> se; if(se == "男") sex = 1; std::cout << "年龄:\t\t"; std::cin >> age; if(flag == 1) { std::string laboratory, title; std::cout << "实验室名称:\t"; std::cin >> laboratory; std::cout << "职务:\t\t"; std::cin >> title; TESTER *t = new TESTER(name,sex,age,id,laboratory,title); tester.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); std::ofstream out; out.open("实验员.txt", std::ios::app); out << name << " " << sex << " " << age << " " << id << " "; out << laboratory << " " << title << std::endl; out.close(); } if(flag == 2) { std::string department, profession, title; std::cout << "院系:\t\t"; std::cin >> department; std::cout << "专业:\t\t"; std::cin >> profession; std::cout << "职务:\t\t"; std::cin >> title; TEACHER *t = new TEACHER(name,sex,age,id,department,profession,title); teacher.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); std::ofstream out; out.open("教师.txt", std::ios::app); out << name << " " << sex << " " << age << " " << id << " "; out << department << " " << profession << " " << title << std::endl; out.close(); } if(flag == 3) { std::string politics, position; std::cout << "政治面貌:\t"; std::cin >> politics; std::cout << "职称:\t\t"; std::cin >> position; ADMINISTRATOR *t = new ADMINISTRATOR(name,sex,age,id,politics,position); administrator.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); std::ofstream out; out.open("行政人员.txt", std::ios::app); out << name << " " << sex << " " << age << " " << id << " "; out << politics << " " << position << std::endl; out.close(); } if(flag == 4) { std::string department, profession, title, politics, position; std::cout << "院系:\t\t"; std::cin >> department; std::cout << "专业:\t\t"; std::cin >> profession; std::cout << "职务:\t\t"; std::cin >> title; std::cout << "政治面貌:\t"; std::cin >> politics; std::cout << "职称:\t\t"; std::cin >> position; TEAADMI *t = new TEAADMI(name,sex,age,id,department,profession,title,politics,position); teaadmi.push_back(t); sear.insert(make_pair(name, t)); sear.insert(make_pair(id, t)); std::ofstream out; out.open("教师&行政人员.txt", std::ios::app); out << name << " " << sex << " " << age << " " << id << " "; out << department << " " << profession << " " << title << " "; out << politics << " " << position << std::endl; out.close(); } std::cout << "注册成功,输入任意键返回\n"; getch(); } void Delete_information() //删除信息 { std::cout << "输入目标ID以确认\n"; std::string aid; std::cin >> aid; for(unsigned int i = 0; i < aid.length(); i++) { if(aid[i] < '0' || aid[i] > '9') { std::cout << "输入非法,输入任意键返回\n"; getch(); return; } } std::multimap<std::string, COMMON *>::iterator beg, en, iter; beg = sear.lower_bound(aid); en = sear.upper_bound(aid); if(beg == en) { std::cout << "目标不存在,输入任意键返回\n"; getch(); return; } std::string aid_name = beg -> second -> get_name(); sear.erase(beg); beg = sear.lower_bound(aid_name); en = sear.upper_bound(aid_name); for(iter = beg; iter != en; ++iter) if(iter -> second -> get_id() == aid) {sear.erase(iter); break;} bool flag = 0; std::ofstream out; out.open("实验员.txt", std::ios::out); for(std::vector<TESTER*>::iterator it = tester.begin(); it != tester.end();) { if((*it) -> get_id() == aid){flag = 1; delete (*it); it = tester.erase(it); continue;} out << (*it) -> get_name() << " " << (*it) -> get_sex() << " "; out << (*it) -> get_age() << " " << (*it) -> get_id() << " "; out << (*it) -> get_laboratory() << " " << (*it) -> get_title() << std::endl; ++it; } out.close(); if(flag) {std::cout << "删除成功,输入任意键返回\n"; getch(); return;} out.open("教师.txt", std::ios::out); for(std::vector<TEACHER*>::iterator it = teacher.begin(); it != teacher.end();) { if((*it) -> get_id() == aid){flag = 1; delete (*it); it = teacher.erase(it); continue;} out << (*it) -> get_name() << " " << (*it) -> get_sex() << " "; out << (*it) -> get_age() << " " << (*it) -> get_id() << " "; out << (*it) -> get_department() << " " << (*it) -> get_profession() << " " << (*it) -> get_title() << std::endl; it++; } out.close(); if(flag) {std::cout << "删除成功,输入任意键返回\n"; getch(); return;} out.open("行政人员.txt", std::ios::out); for(std::vector<ADMINISTRATOR*>::iterator it = administrator.begin(); it != administrator.end();) { if((*it) -> get_id() == aid){flag = 1; delete (*it); it = administrator.erase(it); continue;} out << (*it) -> get_name() << " " << (*it) -> get_sex() << " "; out << (*it) -> get_age() << " " << (*it) -> get_id() << " "; out << (*it) -> get_politics() << " " << (*it) -> get_position() << std::endl; it++; } out.close(); if(flag) {std::cout << "删除成功,输入任意键返回\n"; getch(); return;} out.open("教师&行政人员.txt", std::ios::out); for(std::vector<TEAADMI*>::iterator it = teaadmi.begin(); it != teaadmi.end();) { if((*it) -> get_id() == aid){flag = 1; delete (*it); it = teaadmi.erase(it); continue;} out << (*it) -> get_name() << " " << (*it) -> get_sex() << " "; out << (*it) -> get_age() << " " << (*it) -> get_id() << " "; out << (*it) -> get_department() << " " << (*it) -> get_profession() << " " << (*it) -> get_title() << " "; out << (*it) -> get_politics() << " " << (*it) -> get_position() << std::endl; ++it; } out.close(); std::cout << "删除成功,输入任意键返回\n"; getch(); } void Edit_information() //修改信息 { std::cout << "输入目标ID以确认\n"; std::string aid; std::cin >> aid; for(unsigned int i = 0; i < aid.length(); i++) { if(aid[i] < '0' || aid[i] > '9') { std::cout << "输入非法,输入任意键返回\n"; getch(); return; } } std::multimap<std::string, COMMON *>::iterator beg, en, iter; beg = sear.lower_bound(aid); en = sear.upper_bound(aid); if(beg == en) { std::cout << "目标不存在,输入任意键返回\n"; getch(); return; } system("cls"); bool flag = 0; std::ofstream out; out.open("实验员.txt", std::ios::out); for(auto iter:tester) { if(iter -> get_id() == aid) { iter -> show(), std::cout << "\n\n根据提示输入修改信息\n\n"; while(iter -> change()) { system("cls"); iter -> show(); std::cout << "输入非法,请重新输入\n"; } flag = 1; } out << iter -> get_name() << " " << iter -> get_sex() << " "; out << iter -> get_age() << " " << iter -> get_id() << " "; out << iter -> get_laboratory() << " " << iter -> get_title() << std::endl; } out.close(); if(flag) {std::cout << "修改成功,输入任意键返回\n"; getch(); return;} out.open("教师.txt", std::ios::out); for(auto iter:teacher) { if(iter -> get_id() == aid) { iter -> show(), std::cout << "\n\n根据提示输入修改信息\n\n"; while(iter -> change()) { system("cls"); iter -> show(); std::cout << "输入非法,请重新输入\n"; } flag = 1; } out << iter -> get_name() << " " << iter -> get_sex() << " "; out << iter -> get_age() << " " << iter -> get_id() << " "; out << iter -> get_department() << " " << iter -> get_profession() << " " << iter -> get_title() << std::endl; } out.close(); if(flag) {std::cout << "修改成功,输入任意键返回\n"; getch(); return;} out.open("行政人员.txt", std::ios::out); for(auto iter:administrator) { if(iter -> get_id() == aid) { iter -> show(), std::cout << "\n\n根据提示输入修改信息\n\n"; while(iter -> change()) { system("cls"); iter -> show(); std::cout << "输入非法,请重新输入\n"; } flag = 1; } out << iter -> get_name() << " " << iter -> get_sex() << " "; out << iter -> get_age() << " " << iter -> get_id() << " "; out << iter -> get_politics() << " " << iter -> get_position() << std::endl; } out.close(); if(flag) {std::cout << "修改成功,输入任意键返回\n"; getch(); return;} out.open("教师&行政人员.txt", std::ios::out); for(auto iter:teaadmi) { if(iter -> get_id() == aid) { iter -> show(), std::cout << "\n\n根据提示输入修改信息\n\n"; while(iter -> change()) { system("cls"); iter -> show(); std::cout << "输入非法,请重新输入\n"; } flag = 1; } out << iter -> get_name() << " " << iter -> get_sex() << " "; out << iter -> get_age() << " " << iter -> get_id() << " "; out << iter -> get_department() << " " << iter -> get_profession() << " " << iter -> get_title() << " "; out << iter -> get_politics() << " " << iter -> get_position() << std::endl; } out.close(); std::cout << "修改成功,输入任意键返回\n"; getch(); } bool Query_information() //查询函数 { system("cls"); std::cout << "输入目标姓名或ID以查询\n"; std::string aid; std::cin >> aid; std::multimap<std::string, COMMON *>::iterator beg, en, iter; beg = sear.lower_bound(aid); en = sear.upper_bound(aid); if(beg == en) { std::cout << "查询结果为空,输入任意键返回\n"; getch(); return 0; } for(iter = beg; iter != en; ++iter) { iter -> second -> show(); std::cout << std::endl; } return 1; } void Browse_information() //浏览函数 { system("cls"); std::cout << "-------------------实验员-------------------\n"; std::cout << "姓名\t" << "性别\t" << "年龄\t" << "ID\t\t" << "实验室名称\t" << "职务\n"; for(auto iter:tester) iter -> show_row(); std::cout << "\n------------------行政人员------------------\n"; std::cout << "姓名\t" << "性别\t" << "年龄\t" << "ID\t\t" << "政治面貌\t" << "职称\n"; for(auto iter:administrator) iter -> show_row(); std::cout << "\n--------------------教师--------------------\n"; std::cout << "姓名\t" << "性别\t" << "年龄\t" << "ID\t\t" << "院系\t\t" << "专业\t\t" << "职务\n"; for(auto iter:teacher) iter -> show_row(); std::cout << "\n-----------------行政人员&教师--------------\n"; std::cout << "姓名\t" << "性别\t" << "年龄\t" << "ID\t\t" << "政治面貌\t" << "职称\t\t" << "院系\t\t" << "专业\t\t" << "职务\n"; for(auto iter:teaadmi) iter -> show_row(); } void count_information() //统计信息 { system("cls"); std::cout << "员工总人数:\t\t" << COMMON::get_person_sum() << std::endl; std::cout << "男性人数:\t\t" << COMMON::get_man_sum() << std::endl; std::cout << "女性人数:\t\t" << COMMON::get_woman_sum() << std::endl; std::cout << "教师人数:\t\t" << TEACHER::get_teacher_sum() << std::endl; std::cout << "实验员人数:\t\t" << TESTER::get_tester_sum() << std::endl; std::cout << "行政管理人员人数:\t" << ADMINISTRATOR::get_administrator_sum() << std::endl; std::cout << "行政管理人员&教师人数:\t" << TEAADMI::get_teaadmi_sum() << std::endl; std::cout << "\n\n输入任意键返回上一级\n"; getch(); } #endif // MYFUN_H_INCLUDED main.cpp 主函数: #include"interface.h" int main() { Information_load(); //加载信息 interface_login(); //首界面 room_delete(); //释放空间 // count_information(); return 0; }

求助:如何在Dev-cpp中使用SetPixel函数?

#include<iostream> #include<cstdio> #include<windows.h> #include<ctime> #include<conio.h> #include<cstdlib> #include<Wingdi.h> using namespace std; int main() { POINT pt; HWND h=GetForegroundWindow(); GetCursorPos(&pt); ScreenToClient(h,&pt); HDC hdc = GetDC(h); SetPixel(hdc,pt.x,pt.y,1); return 0; } 这个程序初衷是更改鼠标经过处像素颜色。一开始没有Wingdi.h库,编译失败后上网找出SetPixel在这个里面,结果仍然不行。看到有大佬说可以手动包含静态库,可惜我不会。跪求解决办法。 另,博主学习不久,可能还有别的错误,望告知。

vs2015 无法打开源文件stdio.h

![图片说明](https://img-ask.csdn.net/upload/201611/18/1479440766_872949.png)求大神指教啊!!!!

C++的这个有类模板的代码怎么改成三个文件(seqstack.h、seqstack.cpp、main.cpp)?具体代码是怎么样的?

``` //功能:顺序栈的功能演示 #include <stdlib.h> #include <conio.h> #include <string.h> #include <iostream.h> //以下为栈的定义部分,如果用工程建立程序,可以另外启用文件seqstack.h /* 模板顺序栈类seqstack的定义说明 */ template <class Type> class seqstack { public: seqstack();//创建一个空栈 seqstack(int size);//创建一个可以容纳size个元素的栈 ~seqstack();//回收一个栈 bool create(int size);//实际创建一个可以容纳size个元素的栈 void destroy();//销毁一个栈 bool isempty() const;//确定栈是否已空 bool isfull() const;//确定栈是否已满 bool push(Type &item);//数据进栈 bool pop();//数据出栈 bool pop(Type &item);//数据出栈并返回出栈前的栈顶 bool getpop(Type &item);//取出当前栈顶数据 void display();//显示栈的所有元素 private: Type *stackspace;//栈空间的具体实现,在下面通过动态申请空间建立数组 int stacksize;//栈的大小,当为0时,栈没有创建空间 int top;//栈顶位置,当为-1时,栈为空 }; //以下为栈的实现部分,如果用工程建立程序,可以另外启用文件seqstack.cpp template <class Type> seqstack<Type>::seqstack()//创建一个空栈 { stackspace=NULL;//初始化,空间起始地址为空 stacksize=0;//栈的大小,初始值为0,表示目前还没有建立 top=-1;//栈顶位置,当为-1时,栈为空 } template <class Type> seqstack<Type>::seqstack(int size)//创建一个可以容纳size个元素的栈 { stackspace=NULL;//初始化,空间起始地址为空 stacksize=0;//栈的大小,初始值为0,表示目前还没有建立 top=-1;//栈顶位置,当为-1时,栈为空 create(size);//开始用size大小为参数建立栈的空间 } template <class Type> seqstack<Type>::~seqstack()//回收一个栈 { destroy();//析构函数,释放相关空间 } template <class Type> bool seqstack<Type>::create(int size)//实际创建一个可以容纳size个元素的栈 { if(stacksize)//栈已经存在,不能再创建 return false; if(size<=0)//size的值必须大于零 return false; stackspace=new Type[size];//申请动态数组空间 if(!stackspace)//没有申请到存储空间,创建栈不成功 return false; stacksize=size;//申请到存储空间,创建栈成功,大小为size top=-1;//栈刚建立成功时,栈顶指针为-1 return true; } template <class Type> void seqstack<Type>::destroy()//销毁一个栈 { if(stackspace) delete [] stackspace;//释放栈的空间,还给操作系统 stackspace=NULL;//空间起始地址恢复为空 stacksize=0;//栈的大小恢复为初始值0,表示目前还没有建立 top=-1;//栈顶指针恢复为-1 } template <class Type> bool seqstack<Type>::isempty() const//确定栈是否已空 { if(!stacksize)//确定栈是否被创建,没有创建视为空 return true; return top==-1?true:false;//根据栈顶指针的位置返回是否为空 } template <class Type> bool seqstack<Type>::isfull() const//确定栈是否已满 { if(!stacksize)//确定栈是否被创建,没有创建视为空 return true; return top==stacksize-1?true:false;//根据栈顶指针的位置返回是否为满 } template <class Type> bool seqstack<Type>::push(Type &item)//数据进栈 { if(!stacksize)//如果栈没有被创建,则不能执行进栈操作 return false; if(isfull())//如果栈空间已满,则不能执行进栈操作 return false; stackspace[++top]=item;//实际进栈的操作,具体分为两步:先产生地址,后插入数据 return true;//返回成功标志 } template <class Type> bool seqstack<Type>::pop()//数据出栈 { if(isempty())//如果栈空间已经为空,则不能执行出栈操作 return false; top--;//执行出栈操作,栈顶指针减1 return true;//返回成功标志 } template <class Type> bool seqstack<Type>::pop(Type &item)//数据出栈并返回出栈前的栈顶 { if(isempty())//如果栈空间已经为空,则不能执行进栈操作 return false; item=stackspace[top--];//执行出栈操作,把栈顶数据保存起来返回,栈顶指针减1 return true;//返回成功标志 } template <class Type> bool seqstack<Type>::getpop(Type &item)//取出当前栈顶数据 { if(isempty())//如果栈空间已经为空,则不能执行进栈操作 return false; item=stackspace[top];//把栈顶数据保存起来返回 return true;//返回成功标志 } template <class Type> void seqstack<Type>::display()//显示栈的所有元素 { if(!stacksize)//当栈中没有数据时则放弃显示所有数据 cout<<"栈尚未建立!"<<endl; else//当栈中有数据时则显示所有数据 { cout<<"目前栈中的内容是:"; cout<<"栈底■"; for(int i=0;i<=top;i++)//栈的空间从0到top指向的位置 cout<<stackspace[i]<<" ";//输出每一个数据,同时间隔一个空格 cout<<"←top栈顶"<<endl; } } /* 定义一个实现顺序栈功能的菜单处理类interfacebase */ template <class Type> class interfacebase { private: seqstack<Type> seqstackonface; public: void clearscreen(void);//清屏 void showmenu(void);//显示菜单函数 int userchoice(void);//用户的选项 void processmenu(int menuchoice);//菜单函数 }; template <class Type> void interfacebase<Type>::clearscreen(void) { system("cls"); } template <class Type> void interfacebase<Type>::showmenu(void) { cout<<"顺序栈基本功能菜单"<<endl; cout<<"=================="<<endl; cout<<"1.创建一个栈"<<endl; cout<<"2.销毁一个栈"<<endl; cout<<"3.数据进栈(仅限整数)"<<endl; cout<<"4.数据出栈"<<endl; cout<<"5.显示栈中全部数据"<<endl; cout<<"6.读取栈顶数据"<<endl; cout<<"7.判断是否空栈"<<endl; cout<<"8.判断是否满栈"<<endl; cout<<"0.退出"<<endl; cout<<"=================="<<endl; } template <class Type> int interfacebase<Type>::userchoice(void) { int menuchoice; cout<<"请输入您的选择:"; cin>>menuchoice; return menuchoice; } template <class Type> void interfacebase<Type>::processmenu(int menuchoice) { int size; Type item; switch(menuchoice)//根据用户的选择进行相应的操作 { case 1: cout<<"请输入栈的大小:"; cin>>size; seqstackonface.create(size); cout<<"栈的大小为:"<<size; break; case 2: seqstackonface.destroy(); cout<<"栈已销毁!"<<endl; break; case 3: cout<<"请输入进栈数据:"; cin>>item; seqstackonface.push(item); cout<<"数据已进栈!"<<endl; break; case 4: seqstackonface.pop(item); cout<<"出栈数据:"<<item<<endl; cout<<"数据已出栈!"<<endl; break; case 5: seqstackonface.display(); cout<<"已遍历栈中全部数据!"<<endl; break; case 6: seqstackonface.getpop(item); cout<<"当前栈顶数据为:"<<item<<endl; break; case 7: if(seqstackonface.isempty()) cout<<"栈已空!"<<endl; else cout<<"栈未空!"<<endl; break; case 8: if(seqstackonface.isfull()) cout<<"栈已满!"<<endl; else cout<<"栈未满!"<<endl; break; case 0: exit(0); default: cout<<"对不起,您输入的功能编号有错!请重新输入!!!"<<endl; break; } } /* 程序主入口 */ void main(void) { int menuchoice;//定义变量,菜单选单项的选择 interfacebase<int> interfacenow; seqstack<int> seqstacknow; system("color f0");//修改屏幕的背景色和字的颜色 interfacenow.clearscreen();//清屏 while(1)//永真循环 { interfacenow.showmenu();//显示菜单 menuchoice=interfacenow.userchoice();//获取用户的选择 interfacenow.processmenu(menuchoice);//处理用户的选择 system("pause");//暂停 interfacenow.clearscreen();//清屏 } }//主函数结束 ```

限制头文件#include<stdio.h> 一个整型数组中(数组长度不超过20)除了两个数字之外,其他的数字都出现了两次。请写程序找出这2个只出现一次的数字。

# 输入要求 先输入一个N,接下来一排有N个整数,N小于20 这N个数在int范围内 ## 输出要求 2个整数。按照输入顺序优先输出 ## 限制要求 只能使用限制头文件所含的内容 ## # **我自己的错误代码示范** (你问我为什么什么都没学也要做,那就教了这个我也没办法啊) ``` #include<stdio.h> int main(){ int N; int n=0; int c,i=0,v=1,d=0,x=1; int r,h=0; int a[19]; int b[19]; int e[19]; while(scanf("%d", &N)!=EOF){// N 总个数 for(i;i<=N-1;i++){ scanf("%d", &a[i]); e[i-1]=a[i]; b[i]=a[i]; }c=1; if(c==1){ for(x;x<=N;x++) { for(n;n<=N-2;n++){ r=a[x] - e[n]; //相同时候r为0 printf("x=%d n=%d r=%d x=%d ax=%d en=%d \n",x,n,r,x,a[x],e[n]); if(r==0){ //相同数字 printf("b=%d\n", b[n]); b[x]=0; } }} } for(h;h<=N-1;h++){ if(b[h]!=0){ printf("bn=%d \n",b[2]);//输出答案 }} // 测试数据14【回车】 12 34 12 34 56 78 67 67 78 98 98 89 89 55 }}//结尾 ```

求大神查看一下这段代码,谢谢!!!

/*arrayio.h*/ #ifndef ARRAYIO /*条件编译防止重复包含头文件*/ #define ARRAYIO void initialize(); //初始化棋盘 void print_chess(); //打印棋盘函数 #endif /*arrayio.c*/ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> char chessman[10][10]; //编译系统初始化每个元素为0 void initialize() //初始化棋盘 { int i,j; //用于循环计数 int a[8]={0}; //记录哪些字符出现次数不是偶数 srand(time(NULL)); for(i=1;i<8;i++) //这里只随机前8行,留最后一行不打印 for(j=1;j<9;j++) { chessman[i][j]=rand()%8+65; //棋盘内容为大写字母A到H if(chessman[i][j]==65) a[0]++; //记录A的个数 if(chessman[i][j]==66) a[1]++; //记录B的个数 if(chessman[i][j]==67) a[2]++; //记录C的个数 if(chessman[i][j]==68) a[3]++; //记录D的个数 if(chessman[i][j]==69) a[4]++; //记录E的个数 if(chessman[i][j]==70) a[5]++; //记录F的个数 if(chessman[i][j]==71) a[6]++; //记录G的个数 if(chessman[i][j]==72) a[7]++; //记录H的个数 } for(i=0;i<8;i++) { if(a[i]%2!=0) //如果字符的个数是奇数就还需要打印一个 chessman[8][i+1]=i+65; else //如果前面7行随机的A到H字符恰好是偶数,最后一行全是I字符 chessman[8][i+1]=73; } } void print_chess() //打印棋盘内容 { int i,j; system("cls"); printf("\t 1 2 3 4 5 6 7 8 \n"); for(i=0;i<10;i++) { printf("\t\n\t"); for(j=0;j<10;j++) { printf("%4c",chessman[i][j]); if(j==9&&i!=0&&i!=9) printf("\t%d",i); } } printf("\n\n\n\n"); } /*main.c*/ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include "arrayio.h" //char chessman[10][10]; //编译系统初始化每个元素为0 int main() { int row,line; //row是行号,line是列号 int row2,line2; //row是行号,line是列号 printf("\t\t\t按任意键开始\n"); fflush(stdin); getch(); initialize(); //初始化棋盘内容 print_chess(); return 0; } DEVC++为什么执行不了。。。谢谢大神指点!!

line()函数如何使用才能画一根线

我在做C语言课程设计,要用line函数画个五子棋盘,可是我折腾了半天,看书上的源代码,连一根线都画不出来 我们的书好像是基于TURBO C的,好坑。 #include "stdafx.h" #include<Windows.h> #define SOLID_LINE 0 #define DOTTED_LINE 1 #define CENTER_LINE 2 #define DASHED_LINE 3 #include"BIOS.h" #include"graphics.h" #include<conio.h> #include"gotoxy.h" #include <dos.h> #include"stdlib.h" void DrawBoard(){//画棋盘 int x1, x2; int y1, y2; setbkcolor(2);//设置背景颜色 setcolor(1);//设置线条颜色 setlinestyle(DOTTED_LINE, 1, 1);//设置线的风格宽度 line(1, 1, 1, 4); } int _tmain(int argc, _TCHAR* argv[]) { int gdriver; int gmode; int errorcode; gdriver = DETECT; gmode = 0; initgraph(&gdriver,&gmode,"");//初始化图形系统 void DrawBoard(); getchar(); }

麻烦各位帮我改下程序吧,输入#include "stdafx.h"在VC++上面不能运行呀~~

#include "stdafx.h" #include <stdio.h> #include <math.h> #include <stdlib.h> #include <graphics.h> #include <conio.h> #define N 1000 /*定义复数类型*/ typedef struct { double real; double img; }complex; void fft(); /*快速傅里叶变换*/ void ifft(); void initW(); /*初始化变换核*/ void change(); /*变址*/ void add(complex ,complex ,complex *); /*复数加法*/ void mul(complex ,complex ,complex *); /*复数乘法*/ void sub(complex ,complex ,complex *); /*复数减法*/ void divi(complex ,complex ,complex *);/*复数除法*/ void output(); /*输出结果*/ complex x[N], *W; /*变换核*/ int size_x=0; /*输入序列的大小,在本程序中仅限2的次幂*/ double PI=atan(1)*4; /*定义圆周率*/ int main() { int i, X, Y,flt=0; int gd=DETECT,gm; system("cls"); printf("输入正弦频率X:\n"); scanf("%d",&X); printf("输入采样频率Y(理想情况下应是2的整数次幂):\n"); scanf("%d",&Y); if(int(Y)==2||int(Y)==4||int(Y)==8||int(Y)==16||int(Y)==32||int(Y)==64||int(Y)==128||int(Y)==256||int(Y)==512||int(Y)==1024) flt=1; if(flt==0) { printf("注意!输入的Y不是2的整数次幂!\n"); } printf("输入采样点数size_x:\n"); scanf("%d",&size_x); for(i=0;i<size_x;i++) { x[i].real=sin(2*PI*X*i/Y); x[i].img=0; } initW(); fft(); output(); for(i=0;i<size_x;i++) { //求变换后结果的模值,存入复数的实部部分 x[i].real=sqrt(x[i].real*x[i].real+x[i].img*x[i].img); } //registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,""); cleardevice(); setcolor(WHITE); line(400,400,400,50); line(400,50,395,55); line(400,50,405,55); line(200,400,600,400); line(600,400,595,395); line(600,400,595,405); setcolor(WHITE); for(i=0;i<size_x;i++) line(i*10+400-size_x*10/2,400,i*10+400-size_x*10/2,400-(int)x[i].real*10); getch(); closegraph(); return 0; } /*快速傅里叶变换*/ void fft() { int i=0,j=0,k=0,l=0; complex up,down,product; change(); for(i=0;i< log(size_x)/log(2) ;i++)/*一级蝶形运算*/ { l=1<<i; for(j=0;j<size_x;j+= 2*l )/*一组蝶形运算*/ { for(k=0;k<l;k++)/*一个蝶形运算*/ { mul(x[j+k+l],W[size_x*k/2/l],&product); add(x[j+k],product,&up); sub(x[j+k],product,&down); x[j+k]=up; x[j+k+l]=down; } } } } /*初始化变换核*/ void initW() { int i; W=(complex *)malloc(sizeof(complex) * size_x); for(i=0;i<size_x;i++) { W[i].real=cos(2*PI/size_x*i); W[i].img=-1*sin(2*PI/size_x*i); } } /*变址计算,将x(n)码位倒置*/ void change() { complex temp; unsigned short i=0,j=0,k=0; double t; for(i=0;i<size_x;i++) { k=i;j=0; t=(log(size_x)/log(2)); while( (t--)>0 ) { j=j<<1; j|=(k & 1); k=k>>1; } if(j>i) { temp=x[i]; x[i]=x[j]; x[j]=temp; } } } /*输出傅里叶变换的结果*/ void output() { int i; printf("The result are as follows\n"); for(i=0;i<size_x;i++) { printf("%.4f",x[i].real); if(x[i].img>=0.0001) printf("+%.4fj\n",x[i].img); else if(fabs(x[i].img)<0.0001) printf("\n"); else printf("%.4fj\n",x[i].img); } } void add(complex a,complex b,complex *c) { c->real=a.real+b.real; c->img=a.img+b.img; } void mul(complex a,complex b,complex *c) { c->real=a.real*b.real - a.img*b.img; c->img=a.real*b.img + a.img*b.real; } void sub(complex a,complex b,complex *c) { c->real=a.real-b.real; c->img=a.img-b.img; } void divi(complex a,complex b,complex *c) { c->real=( a.real*b.real+a.img*b.img )/( b.real*b.real+b.img*b.img); c->img=( a.img*b.real-a.real*b.img)/(b.real*b.real+b.img*b.img); }

这是一个关于C语言字符串的相关问题

``` #include<stdio.h> #include<conio.h> #include<string.h> string bian(char str[]) { for(int i=0;i<strlen(str);i++) { if(str[i]>='A'&&str[i]<='Z') str[i]=str[i]-32; else if(str[i]>='a'&&str[i]<='z') str[i]=str[i]+32; else continue; } return printf("%s",str); } void main() { char str[20]; printf("请输入字符:"); for(int i=0;i<20;i++) scanf("%c",str[i]); getch(); } ``` 这是我用VC6++写的程序。目的是 输入一个字符串,转换字母大小写。 报错了,求大佬们帮忙指点下

c语言简单问题求解答:结构体显示当前时间

这道题就是表示时间,然后我的问题是为什么要有void ticktok(Time *p) 这个代码?因为我发现即使不使用这一行代码,显示出来也是对的啊,所以这个函数到底有身边么用?求解答,谢谢 ``` #include <stdio.h> #include <windows.h> #include <conio.h> #include <time.h> typedef struct Time { int hour; int minute; int second; }Time; void ticktok(Time *p) { p ->second++; if(p->second >= 60) { p->second = 0; p->minute++; { if(p->minute >= 60) { p->minute = 0; p->hour++; if(p->hour >=24) { p->hour %= 24 ; } } } } } int main() { while(!kbhit()) { int seconds = time(NULL); Time now; now.hour = (seconds/3600 +8 )%24; now.minute = seconds/60%60; now.second = seconds%60; ticktok(&now); printf("%d:%d:%d",now.hour,now.minute,now.second); Sleep(1000); system("cls"); } } ```

如何使用C语言,编写贪吃蛇游戏程序(不使用函数和结构体,只使用数组)

要求:至少有墙、蛇和食物3种对象,用键盘控制蛇头的前进方向,每吃到一个食物蛇身增长一节,食物被吃掉后随机在另外的位置产生新的食物,蛇头碰到蛇身或墙壁后死亡,游戏结束! ``` #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<windows.h> main() { char map[12][12] ={{'|','|','|','|','|','|','|','|','|','|','|','|'},{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'}, {'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'}, {'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'}, {'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'}, {'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'}, {'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},{'|','|','|','|','|','|','|','|','|','|','|','|'}}; int bodyx[10]; int bodyy[10]; //存储蛇头和蛇身坐标 int speed; //速度 int life; //life为1时死,life为0时活 int longth; //蛇长度 int direction; //运动方向 int x; int y; //食物坐标 int eat;//eat为0时有食物,eat为1时无食物 int i; int a, b, m, n, q, p, j, k; char c; char head='@'; char body='#'; char food='*'; bodyx[0]=6; bodyy[0]=6; //蛇头 bodyx[1]=6; bodyx[1]=5; //蛇身 speed=500; longth=3; life=0; eat=1; direction='d'; if(bodyx[0]==x&&bodyy[0]==y) longth++,eat=1; //蛇吃到食物,蛇身加长 for(i=longth-1;i>0;i--) { bodyx[i]=bodyx[i-1]; bodyy[i]=bodyy[i-1]; } switch (direction) { case 'a':bodyy[0]-=1;break; case 'w':bodyx[0]-=1;break; case 'd':bodyy[0]+=1;break; case 's':bodyx[0]+=1;break; }//蛇头方向 begin: while(1) { system("cls"); //清屏 if(kbhit()) //判断是否有按键按下 { c=getch(); //获取按键ASCII码值 { if(c=='w'&&direction!='s') direction='w'; //条件判断 else if(c=='a'&&direction!='d') direction='a'; else if(c=='s'&&direction!='w') direction='s'; else if(c=='d'&&direction!='a') direction='d'; else if(c=='q') //暂停功能 { printf("\n按下回车键继续游戏"); getchar(); } else if(c=='e') speed=speed-50; //调速功能 } } } if(life==0&&eat==1) { x=(rand()%10)+1; y=(rand()%10)+1; for(i=1;i<longth;i++) { for(;x==bodyx[i]&&y==bodyy[i];) { x=(rand()%10)+1; y=(rand()%10)+1; } } eat=0; }//刷新食物 a=bodyx[0]; //a,b是蛇头坐标 b=bodyy[0]; for(i=longth-1;i>0;i--) { m=bodyx[i]; //m,n是蛇身坐标 n=bodyy[i]; map[m][n]=body; //改写地图数组 } map[x][y]=food; map[p][q]=' '; map[a][b]=head; //改写地图数组 for(j=0;j<12;j++) { for(k=0;k<12;k++) { printf("%c",map[j][k]); printf("\n"); } } printf("长度: %d\n速度 %d\n按q键暂停\n按e键加速",longth-1,11-(speed/50)); Sleep(speed); if(longth>3) { for(i=3;i<longth-1;i++) { if(bodyx[i]==bodyx[0]&&bodyy[i]==bodyy[0]) life=1; } }//判断蛇是否咬到自己 if(bodyx[0]>=11||bodyx[0]<=11||bodyy[0]>=11||bodyy[0]<=11) life=1;//判断蛇是否撞墙 if(life==1) { system("cls"); printf("\tGAME OVER"); system("cls"); printf("Click the enter to reply"); getchar(); goto begin; }//游戏结束 } ``` 以上是大部分代码(老师给的),剩下的不会补了,求大佬指教

time()函数调用时问什么与当地时间相差8个小时?

#include<stdio.h> #include<windows.h> #include<conio.h> #include<time.h> //struct tm *gmtime(const time_t *timep); int main () { struct tm *t; // gettime(&t); time_t timep; int a,b; POINT SS; GetCursorPos(&SS); // Sleep(5000); // printf("%d:%d:%d\n",6+t->tm_hour,t->tm_min,t->tm_sec); while(1) { Sleep(1000); time (&timep); t=gmtime(&timep); if(t->tm_hour==13&&t->tm_min==15&&t->tm_sec==30) break; printf("%d:%d:%d\n",t->tm_hour,t->tm_min,t->tm_sec); } mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); printf ("%d %d\n",SS.x,SS.y); return 0; } 本来想做一个定时点击的小程序......

用C语言编写简单学生学籍管理系统。有一段已经定义好的函数,求大佬帮忙编写完整。在线急等。求各位大佬帮帮忙,重谢!!

``` #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> typedef struct { int Id; //学号 char name[10]; //姓名 char sex[2]; //性别 int room; //宿舍号 int tel; //电话号码 } StudentInfo; //定义学生信息的结构体类型 typedef struct { int Id; char courseNo[10]; //课程编号 char courseName[20];//课程名 double a; // 课程学分 double b; // 平时成绩 double c; // 实验成绩 double d; // 卷面成绩 double e; // 综合成绩 double f; // 实际学分 } MarkInfo; //定义课程信息的结构体类型 void ReadFile(); //读取文件 void DisplayMainMenu(); //显示主菜单 void DataInput(); //数据录入 void DataQuery(); //数据查询 void DataDelete(); //数据删除 void DataSort(); //数据排序 void QueryById(int ); //按学号查询 void QueryByRoom(int ); //按宿舍查询 void QueryMark(int ); //按成绩查询 void sort1(); //按综合成绩排序 void sort2(); //按实得学分排序 void markput(); //成绩输出 StudentInfo si[30]; // 学生信息结构数组 MarkInfo mi[150]; // 学生成绩结构数组 int sp=0; // 学生信息结构数组中学生数 int mp=0; // 学生成绩结构数组中成绩数 void ReadFile( )//读取文件 { FILE *fp; if((fp = fopen("A.txt","r"))==NULL) printf("cant open the file\n"); while (!feof(fp)) { fscanf(fp,"%d%s%s%d%d",&si[sp].Id,si[sp].name,&si[sp].sex,&si[sp].room,&si[sp].tel); sp++; } fclose (fp); fp = fopen("B.txt","r"); while (!feof(fp)) { fscanf(fp,"%d%s%s%d%d%d%d",&mi[mp].Id,mi[mp].courseNo,mi[mp].courseName,&mi[mp].a,&mi[mp].b,&mi[mp].c, &mi[mp].d); if (mi[mp].c == -1) mi[mp].e = 0.3*(mi[mp].b/1.0)+0.7*(mi[mp].d/1.0); else mi[mp].e = 0.15*(mi[mp].b/1.0)+0.15*(mi[mp].c/1.0)+0.7*(mi[mp].d/1.0); if(mi[mp].e >= 90. ) mi[mp].f = mi[mp].a; else if ( mi [mp].e >= 80. ) mi[mp].f = mi[mp].a *0.8; else if ( mi[mp].e >= 70. ) mi[mp].f = mi[mp].a *0.75; else if ( mi[mp].e >= 60. ) mi[mp].f = mi[mp].a *0.6; else mi[mp].f = 0; mp++; } fclose(fp); } void DisplayMainMenu() //显示主菜单 { printf ("\n 1) 数据录入 \n 2) 数据查询 \n 3) 数据删除 \n 4) 数据排序 \n 5) 程序结束\n "); } void DataInput()//数据查询 { FILE *fp; int i; printf ("学生的学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩\n"); while(1) { scanf("%d%s%s%d%d%d%d",&mi[mp].Id,mi[mp].courseNo,mi[mp].courseName,&mi[mp].a,&mi[mp].b,&mi[mp].c, &mi[mp].d); if(mi[mp].Id==-1) break; if (mi[mp].c == -1) mi[mp].e = 0.3*mi[mp].b+0.7*mi[mp].d; else mi[mp].e = 0.15*mi[mp].b+0.15*mi[mp].c+0.7*mi[mp].d; if ( mi[mp].e >= 90. ) mi[mp].f = mi[mp].a; else if ( mi [mp].e >= 80. ) mi[mp].f = mi[mp].a *0.8; else if ( mi[mp].e >= 70. ) mi[mp].f = mi[mp].a *0.75; else if ( mi[mp].e >= 60. ) mi[mp].f = mi[mp].a *0.6; else mi[mp].f = 0; mp++; } fp = fopen("B.txt","r+"); for(i=0;i<mp;i++) { fprintf(fp,"%d%s%s%d%d%d%d",&mi[i].Id,mi[i].courseNo,mi[i].courseName,&mi[i].a,&mi[mp].b,&mi[i].c, &mi[i].d); fclose(fp); } } void DataQuery()//数据查询 { int x,y,z; printf("\n 1) 学生基本情况查询\n 2) 成绩查询\n");//--------------------------选择查询内容 scanf("%d",&x); if (x == 1) // 查询学生信息 { printf ("1) 按学号查询 2) 按宿舍查询\n");//-------------------------------选择查询方式 scanf("%d",&y); if (y == 1 ) { printf ("输入学号\n");//-----------------------------------------------按学生学号查询 scanf ("%d",&z); QueryById(z); } if (y == 2) { } if ( x ==2) // 查询成绩信息---------------------------------------查询学生成绩(输入学号) { printf ("输入学号\n"); scanf ("%d",&y); QueryMark(y); } } } void DataDelete()//数据删除 { FILE *fp; int x; int i=0; int k,d; printf( "输入学号\n"); scanf( "%d",&x); while( si[i].Id != x) i++; if (i<sp-1) { for ( k=i; k<sp-1; k++) { si[k] = si[k+1]; } } if ( i<sp) sp--; d = 0; for (k=0;k<mp;k++) { if ( mi[k].Id == x ) d++; else mi[k-d] = mi[k]; } mp = mp - d; fp = fopen("D:B.txt","r+"); for(i=0;i<mp;i++) fprintf(fp,"%d%s%s%d%d%d%d",&mi[i].Id,mi[i].courseNo,mi[i].courseName,&mi[i].a,&mi[i].b,&mi[i].c, &mi[i].d); } void sort1() { int i,j; MarkInfo t; for (i=mp-1;i>=1;i--) { for (j=0;j<i;j++) { if (mi[j].e>mi[j+1].e) { t=mi[j]; mi[j] = mi[j+1]; mi[j+1] = t; } } } markput(); } 这段函数是定义好的,求大佬帮帮忙编写完! 要求:使用下面的数据,用C语言设计一个简单的学籍管理系统,实现出最基本的功能。 学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成: 学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756122 … …. .. … ……….. 学生成绩基本信息文件(B.TXT)及其内容: 学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 … …. ………. .. .. … (一) 功能要求及说明: (1) 数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% . 实得学分的计算: 采用等级学分制. 综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80% 综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60% 综合成绩在60以下 ,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询: A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。 A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。 B:成绩查询: B1:输入一个学号时,查询出此生的所有课程情况,格式如下: 学 号:xx 姓 名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx … … … … ……… … … 共修:xx科,实得总学分为: xxx (3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。 (4 ) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

大一软件工程新生,C语言程序设计问题

大一软件工程新生,C语言程序设计问题 功能:判断一个整数w的各个数字平方之和能否被5整除,可以被5整除返回1,否则返回0. #include "stdio.h" #include "conio.h" int fun(int w){ /**********Begin**********/ /********** End **********/ main() { int m; printf("Enter m:"); scanf("%d",&m); printf("\nThe result is %d\n", fun(m)); }

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

立即提问
相关内容推荐