barriers / 阅读 / 详情

C语言各个头文件的含义....

2023-06-14 07:20:30
共5条回复
陶小凡

C/C++头文件--------------------------------------------------------------------------------

C、传统 C++

#i nclude <assert.h> //设定插入点

#i nclude <ctype.h> //字符处理

#i nclude <errno.h> //定义错误码

#i nclude <float.h> //浮点数处理

#i nclude <fstream.h> //文件输入/输出

#i nclude <iomanip.h> //参数化输入/输出

#i nclude <iostream.h> //数据流输入/输出

#i nclude <limits.h> //定义各种数据类型最值常量

#i nclude <locale.h> //定义本地化函数

#i nclude <math.h> //定义数学函数

#i nclude <stdio.h> //定义输入/输出函数

#i nclude <stdlib.h> //定义杂项函数及内存分配函数

#i nclude <string.h> //字符串处理

#i nclude <strstrea.h> //基于数组的输入/输出

#i nclude <time.h> //定义关于时间的函数

#i nclude <wchar.h> //宽字符处理及输入/输出

#i nclude <wctype.h> //宽字符分类

//////////////////////////////////////////////////////////////////////////

标准 C++ (同上的不再注释)

#i nclude <algorithm> //STL 通用算法

#i nclude <bitset> //STL 位集容器

#i nclude <cctype>

#i nclude <cerrno>

#i nclude <clocale>

#i nclude <cmath>

#i nclude <complex> //复数类

#i nclude <cstdio>

#i nclude <cstdlib>

#i nclude <cstring>

#i nclude <ctime>

#i nclude <deque> //STL 双端队列容器

#i nclude <exception> //异常处理类

#i nclude <fstream>

#i nclude <functional> //STL 定义运算函数(代替运算符)

#i nclude <limits>

#i nclude <list> //STL 线性列表容器

#i nclude <map> //STL 映射容器

#i nclude <iomanip>

#i nclude <ios> //基本输入/输出支持

#i nclude <iosfwd> //输入/输出系统使用的前置声明

#i nclude <iostream>

#i nclude <istream> //基本输入流

#i nclude <ostream> //基本输出流

#i nclude <queue> //STL 队列容器

#i nclude <set> //STL 集合容器

#i nclude <sstream> //基于字符串的流

#i nclude <stack> //STL 堆栈容器

#i nclude <stdexcept> //标准异常类

#i nclude <streambuf> //底层输入/输出支持

#i nclude <string> //字符串类

#i nclude <utility> //STL 通用模板类

#i nclude <vector> //STL 动态数组容器

#i nclude <cwchar>

#i nclude <cwctype>

using namespace std;

//////////////////////////////////////////////////////////////////////////

C99 增加

#i nclude <complex.h> //复数处理

#i nclude <fenv.h> //浮点环境

#i nclude <inttypes.h> //整数格式转换

#i nclude <stdbool.h> //布尔环境

#i nclude <stdint.h> //整型环境

#i nclude <tgmath.h> //通用类型数学宏

再也不做稀饭了

stdio.h是standard input&output的缩写,它包括了与标准I/O库有关的变量定义和宏定义。

malloc函数放在stdlib.h里面,malloc.h是为了兼容旧代码而保留的。malloc()是动态分配内存,一般用于线性表,堆,栈。

string.h是包含处理字符串的函数,比如测字符串长度strlen(const *char),还有复制字符串strlen( *char1, const *char2 )

stdlib.h可以提供一些函数与符号常量,具体如下:

常量

NULL, EXIT_FAILURE, EXIT_SUCESS, RAND_MAX, MB_CUR_MAX

函数

atof, atoi, atol, strtod, strtof, strtols, strtol, strtoll, strtoul, strtoull, rand, srand, callc, free, maloc, realloc, abort, atexit, exit, getenv, system, bsearch, qsort, abs, div, labs, ldiv, llabs, tlldiv, mblen, mbtowc, wctomb, mbstowcs, wcstombs

牛云

conio.h不是c标准库中的头文件。

  conio是console

input/output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

  包含的函数:

  cgets(char

*);

  cprintf(const

char

*,

...);

  cputs(const

char

*);

  cscanf(const

char

*,

...);

  inp(unsigned

short);

  inpw(unsigned

short);

  getch(void);

  getche(void);

  kbhit(void);

  outp(unsigned

short,

int);

  outpw(unsigned

short,

unsigned

short);

  putch(int);

  ungetch(int);

  void

_cdecl

clreol

(void);

  void

_cdecl

clrscr

(void);

  void

_cdecl

delline

(void);

  int

_cdecl

gettext

(int

left,

int

top,

int

right,

int

bottom,

  void

*destin);

  void

_cdecl

gettextinfo

(struct

text_info

*r);

  void

_cdecl

gotoxy

(int

x,

int

y);

  void

_cdecl

highvideo

(void);

  void

_cdecl

insline

(void);

  void

_cdecl

lowvideo

(void);

  int

_cdecl

movetext

(int

left,

int

top,

int

right,

int

bottom,

  int

destleft,

int

desttop);

  void

_cdecl

normvideo

(void);

  int

_cdecl

puttext

(int

left,

int

top,

int

right,

int

bottom,

  void

*source);

  void

_cdecl

textattr

(int

newattr);

  void

_cdecl

textbackground

(int

newcolor);

  void

_cdecl

textcolor

(int

newcolor);

  void

_cdecl

textmode

(int

newmode);

  int

_cdecl

wherex

(void);

  int

_cdecl

wherey

(void);

  void

_cdecl

window

(int

left,

int

top,

int

right,

int

bottom);

  char

*_cdecl

cgets

(char

*str);

  int

_cdecl

cprintf

(const

char

*format,

...);

  int

_cdecl

cputs

(const

char

*str);

  int

_cdecl

cscanf

(const

char

*format,

...);

  int

_cdecl

getch

(void);

  int

_cdecl

getche

(void);

  char

*_cdecl

getpass

(const

char

*prompt);

  int

_cdecl

kbhit

(void);

  int

_cdecl

putch

(int

c);

  int

_cdecl

ungetch

(int

ch);

编辑本段

用法

  conio

库用于

window

平台,与之类似的在

linux

下使用

curses

库。

cloudcone

呵呵来迟了

我最得意的就是C了

不想被他们说光了郁闷~~~~

豆豆staR

原来如此啊!真是学到了不少啊!谢谢!!

相关推荐

C语言中clrscr()是什么意思?

清除文本模式窗口 清屏的意思 就是把之前显示出的文字字符去掉 跟cmd里面的清屏的功能是一样的 实际上是clear screen的简写
2023-06-13 15:08:133

clrscr是什么东西?

C语言控制台程序中清屏幕的函数,是Clear Screen的缩略语,一般包含在conio.h头文件中。没记错的话,似乎Visual C++ 6或7等新版本已经没这个了,可以用system("cls");代替。
2023-06-13 15:08:441

C语言中加入clrscr();为什么报错?

没有这个系统命令。。。
2023-06-13 15:08:563

c语言中的清屏函数clrscr()应该怎么用?

#include <conio.h>void main(){ system("cls"); }
2023-06-13 15:09:318

c 语言中clrscr();函数是什么意思啊?

就是清屏
2023-06-13 15:10:055

C语言中的clrscr()函数有什么作用

clrscr() 顾名思义 “清屏幕”函数。 要头文件 #include <conio.h>clr -- clearing 清scr -- screen 屏幕这是非常非常古老的Borland C 里的函数。现在的编译器 未必支持。现在的 windows 系统 可用 system("cls"); 代替它。
2023-06-13 15:10:231

C语言中的 clrscr() 函数有什么作用?

清屏
2023-06-13 15:10:337

clrscr是什么东西?

分类: 教育/科学 >> 科学技术 问题描述: 这是不是编程中的一个函数? 解析: C语言控制台程序中清屏幕的函数,是Clear Screen的缩略语,一般包含在conio.h头文件中。没记错的话,似乎Visual C++ 6或7等新版本已经没这个了,可以用system("cls");代替。
2023-06-13 15:10:541

clrscr 是哪个头文件包含的

clrscr是TC特有的,其它的C语言环境没有这个函数,也就没有头文件包含这个函数。建议使用system("cls");来取代clrscr();比较通用,兼容性好一点。system()函数在#include <stdlib.h>里面。
2023-06-13 15:11:031

clrscr的定义

clrscr不是标准C语言的函数.它是TC的清屏幕函数.PC可以用system("cls");UNIX linux 用system("clear");
2023-06-13 15:11:102

C语言中清屏函数是什么?

clrscr();
2023-06-13 15:11:334

clrscr函数如何定义

这个函数不用定义,它是tc或bc的清屏函数,在dos.h头文件中声明。#include<dos.h>int main(){ .... clrscr(); ......}
2023-06-13 15:11:481

c语言 清屏函数

vc里面的是stalib头文件......
2023-06-13 15:11:5911

请问 clrscr(); 这个函数在哪个头文件里的?

在<conio.h>里,TC中能通过编译但不能在VC中通过编译,不知道为什么
2023-06-13 15:13:152

请问下Devc++中如何才能使用clrscr()函数

#include "stdlib.hsystem("cls");
2023-06-13 15:13:251

clrscr()与gotoxy()函数在C++中怎么用

clrscr()清屏函数gotoxy(x,y)说具体点就是在当前窗口内移动光标到指定位置(x,y),如果未自定义窗口,那么当前窗口缺省为整个文本屏,补充一下,光标坐标从窗口的左上角第一个字符(1,1)(在文本方式下编写窗口方式的程序,都会用到这个函数)VisualC++中使用gotoxy()/clrscr()等函数#include<windows.h>voidclrscr(void);voidclreol(void);voidclreoscr(void);voidgotoxy(int,int);//---Funktionsimplementierung/*********************************************************************************/voidclrscr(void)//clearscreen:gesamtenBildschirmleeren{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;COORDHome={0,0};DWORDdummy;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);FillConsoleOutputCharacter(hConsoleOut,"",csbiInfo.dwSize.X*csbiInfo.dwSize.Y,Home,&dummy);//biscursorpositionleerzeichenausgebencsbiInfo.dwCursorPosition.X=0;//cursorpositionXkoordinatefestlegencsbiInfo.dwCursorPosition.Y=0;//cursorpositionYkoordinatefestlegenSetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);//dencursorandiefestgelegtekoordinatesetzen}/*********************************************************************************/voidclreol(void)//clearendofline:denrestderZeilenachdemcursorl鲾chen{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;COORDHome,pos;DWORDdummy;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);Home=csbiInfo.dwCursorPosition;pos.X=80-csbiInfo.dwCursorPosition.X;FillConsoleOutputCharacter(hConsoleOut,"",pos.X,Home,&dummy);}/*********************************************************************************/voidclreoscr(void)//clearendofscreen:allesnachdemcursorl鲾chen{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;COORDHome;DWORDdummy;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);Home=csbiInfo.dwCursorPosition;FillConsoleOutputCharacter(hConsoleOut,"",csbiInfo.dwSize.X*csbiInfo.dwSize.Y,Home,&dummy);}/*********************************************************************************/voidgotoxy(intx,inty)//cursorangewuenschtepositionaufdembildschirmsetzen{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);csbiInfo.dwCursorPosition.X=x;//cursorpositionXkoordinatefestlegencsbiInfo.dwCursorPosition.Y=y;//cursorpositionYkoordinatefestlegenSetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);//dencursorandiefestgelegtekoordinatesetzen}
2023-06-13 15:13:331

为什么我的clrscr();清屏函数用不了?

用 system("CLS");头文件 stdlib.h简单例子#include<stdio.h>#include<stdlib.h> int main(){printf("Hello World! ");system("PAUSE");system("CLS");system("PAUSE");return 0;}
2023-06-13 15:13:422

C程序改错 求一维数组a:(10,4,2,7,3,12,5,34,5,9)中值为偶数的元素之和。正确结果为62.

s = s + i;改成s=s+arr[i];
2023-06-13 15:13:534

清屏clrscr()放哪里?

这就么点东西,还清什么屏?多学学中要的东西,别把时间浪费在次要的东西上
2023-06-13 15:14:216

TCC中的clrscr函数怎么用?

经过测试,发现TCC好像没有提供这个函数的定义,所以自己写了一个简单的DLL文件以实现这个函数的功能,方法如下:新建一个c语言源程序文件(假设为cls.c),输入以下代码:#include <stdlib.h>__declspec(dllexport) void clrscr(void){ system("cls");}之后用TCC将cls.c编译生成cls.DLL文件:tcc -shared cls.c将生成的cls.dll文件放在需要调用clrscr()函数的程序目录中,并用以下命令编译程序(假设程序文件名为a.c)tcc a.c -lcls现在就不会出现找不到定义的提示了,要注意的是动态库(cls.dll)要和可执行文件(a.exe)放在同一个目录,或者在系统中注册。***********************************************************其它的conio.h文件中声明,但是却不能调用的函数,也可以用上述方法将其实现添加到cls.c文件将重新生成cls.dll文件,这样在编译程序时加上-lcls就可以调用了。
2023-06-13 15:14:353

c++如何清屏?

使用system("cls");#include<stdio.h>#include<stdlib.h>intmain(){printf("clearme");system("cls");return0;}#includesystem("cls");循环一百次,循环体为printf(" ");扩展资料:C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。数据类型指明变量或表达式的状态和行为,数据类型决定了数的取值范围和允许执行的运算符集。c++语言数据类型可以分为两大类:基本类型和引用类型。基本类型是指不能再分解的数据类型,其数据在函数的调用中是以传值方式工作的;引用类型有时也称复合类型,它是可以分解为基本类型的数据类型,其数据在函数调用中是以传址方式来工作的。参考资料来源:百度百科-c++
2023-06-13 15:14:431

clrscr是什么意思,怎么用,为什么Microsoft Visual C++ 6.0编译不过去?

你用的是turobc吧,VC6。0没有这个函数。是清屏的意思。
2023-06-13 15:14:515

unresolved external symbol _clrscr

把 clrscr(); 改写为system("CLS");
2023-06-13 15:15:083

使用java语言实现以下功能:1.工号 2.姓名3.性别4.车间5.生日6.进厂时间7.

我这个是我以前课程设计时做的,也是工资管理系统,功能貌似比你多,你自己删减下,我这里还有当时交的课程设计报告书,上面有详细说明,要的话给我邮箱发给你,记得采纳啊~~#include "stdio.h"#include "bios.h"#include "dos.h"#include "conio.h"#include "stdlib.h"#include "string.h"#include "mem.h"#include "ctype.h"#include "alloc.h"typedef struct z1{ char no[11]; char name[15]; float jbgz; float koukuan; float yfgz; float shuijin; float sfgz; struct z1 *prior; struct z1 *next;}SALARY;struct z1 *First;struct z1 *Last;void init();void create();void calc();void delete();void search();void change();void save();void load();void insert();void list();void print(SALARY *p);float fax(float x);int menu_select();main(){ int i; clrscr(); for(;;) { switch(menu_select()) { case 1:create();clrscr();break; case 2:calc();clrscr();break; case 3:search();clrscr();break; case 4:change();clrscr();break; case 5:insert();clrscr();break; case 6:delete();clrscr();break; case 7:list();clrscr();break; case 8:save();clrscr();break; case 9:load();clrscr();break; case 0:exit(0); } }}menu_select(){ char *f[]= { "********SalaryMangementSystem*********", " 1. Enter list", " 2. Calc the salary", " 3. Search record by no", " 4. Change record by no", " 5. Insert record to list", " 6. Delete a record", " 7. List all ", " 8. Save data to the file", " 9. Load dta from the file", " 0. Quit", "**************************************", "Please enter your choice:" }; int i; int c=0; for(i=0;i<13;i++) { gotoxy(1,3+i); cprintf("%s",f[i]); } scanf("%d",&c); return c;}void init(){ First=NULL; Last=NULL;}/*输入数据,创建双链表*/void create(){ int x; /*记录行坐标*/ int i; /*记录输入记录数*/ int flag=0; /*做结束标记*/ float temp; /*定义临时变量*/ SALARY *info,*p; /*定义临时变量*/ if(First!=NULL) init();/*如果头指针不为空,调用初始化函数*/ p=First; /*从头指针开始*/ for(;;) { if(flag==1) break; /*如果flag=1,结束输入*/ i=0; x=0; /*确定移动的行坐标*/ clrscr(); /*清屏*/ gotoxy(1,3); printf("*************gongziguanli*************");/*输出标题*/ gotoxy(1,4); printf(" --Enter S end--");/*提示输入@结束*/ gotoxy(1,5); printf("|------------------------------------|");/*输出表格的起始线*/ gotoxy(1,6); printf("| no | name | jbgz |");/*输出字段标题,注意空格数*/ for(;;) { gotoxy(1,7+x); printf("|----------|----------------|--------|");/*输出表格的水平线*/ info=(SALARY *)malloc(sizeof(SALARY));/*申请一个记录空间*/ if(!info) { printf(" out of memory");/*如没有得到空间,输出内存溢出信息*/ exit(0);/*退出程序*/ } info->next=NULL;/*新结点的后继为空*/ info->prior=NULL;/*新结点的前驱为空*/ gotoxy(1,8+x);printf("|"); /*输出数据间的分割线*/ gotoxy(12,8+x);printf("|"); gotoxy(29,8+x);printf("|"); gotoxy(38,8+x);printf("|"); gotoxy(2,8+x);/*光标到输入编号位置*/ inputs(info->no,10);/*输入编号,并验证长度不超过10*/ if(info->no[0]=="S"||info->no[0]=="s") { flag=1; break; } /*编号首字母为S结束输入*/ gotoxy(13,8+x); /*光标到输入姓名位置*/ inputs(info->name,14); /*输入姓名,并验证长度不超过14*/ gotoxy(30,8+x); /*光标到输入基本工资位置*/ scanf("%f",&temp); /*输入基本工资到临时变量*/ info->jbgz=temp; /*基本工资赋值*/ info->koukuan=0; /*初始扣款为0,待计算工资时输入*/ info->sfgz=0; /*初始实发工资为0,待计算工资时计算*/ info->shuijin=0; /*初始税金为0,待计算工资时计算*/ info->yfgz=0; /*初始应发工资为0,待计算工资时计算*/ if(p==NULL)/*如果p为空,说明输入的是第一个结点*/ { First=Last=info;/*头指针和尾指针*/ First->prior=NULL; /*头指针的前驱是空*/ Last->next=NULL; /*尾指针的后继是空*/ } else /*插入的结点不是第一结点,则插入在头结点之前*/ { info->next=p;/*新结点的后继指向原来的头结点*/ info->prior=p->prior;/*新结点的前驱指向原来的头结点的前驱*/ p->prior=info;/*原来结点的前驱指向新结点*/ } p=info; /*新结点变为p结点,暂时的头结点*/ First=info; /*新结点变为头结点*/ x+=2; /*因为水平线,将光标下移两行*/ gotoxy(1,8+x); i++; /*输入记录数加1*/ if(i%9==0) break; /*输入9个记录,换一页输入*/ } gotoxy(1,8+x); } printf("*****************end*****************");/*输出结尾水平线*/}/*字符串输入和验证函数*/inputs(char *s, int count){ char p[255]; do{ scanf("%s",p);/*输入字符串*/ if(strlen(p)>count)printf(" too long! ");/*进行长度校验,超过count值重输入*/ }while(strlen(p)>count); strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/}/*显示链表*/void list(){ int i=0,n; /*记录输出行数*/ SALARY *p; /*定义移动指针*/ clrscr(); /*清屏*/ p=First; /*从头指针开始*/ while(i%10==0&&p!=NULL) /*外循环控制换页*/ { i=0; /*记录一页的输出行数*/ clrscr(); /*清屏*/ printf(" "); /*换行三次*/ printf("*************************************SALARY*********************************** "); /*输出大标题*/ printf("|nO | name | jbgz | koukuan | yfgz | shuijin | sfgz | "); /*输出字段标题*/ printf("|----------|---------------|---------|---------|---------|---------|---------| "); /*输出水平线*/ while(p!=NULL) /*当p不为空时*/ { printf("|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f| ", p->no,p->name,p->jbgz,p->koukuan,p->yfgz,p->shuijin,p->sfgz); p=p->next; /*指针后移*/ i++; /*输出行数加1 */ if(i%10==0) break; /*如果满10行,跳出内循环*/ } printf("****************************************end*********************************** "); /*输出本页的结束行*/ printf("Press any key congtinue... "); getch(); /*输出一页暂停一下,压任意键继续*/ } /*返回到外循环,准备下一页的输出*/}/*输出指针所指结点信息*/void print(SALARY *p){ if(p) /*如果指针不为空,则显示信息*/ { clrscr(); /*清屏*/ printf(" "); /*换行*/ printf("************************************SALARY************************************ "); /*输出标题信息*/ printf("|no | name | jbgz | koukuan| yfgz | shuijin | sfgz | "); /*输出字段标题*/ printf("|----------|---------------|---------|---------|---------|---------|---------| "); /*输出分割线*/ printf("|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f| ", p->no,p->name, p->jbgz,p->koukuan,p->yfgz,p->shuijin,p->sfgz);/*输出结点信息*/ printf("***************************************end************************************ "); /*输出结束标记*/ }}/*计算实发工资*/void calc(){ int x; /*行坐标*/ int i=0; /*记录数*/ float temp; /*临时变量扣款*/ SALARY *p; /*移动指针*/ clrscr(); /*清屏*/ p=First; /*从头指针开始*/ while(p!=NULL) /*当p不为空时,也就是有记录时,外循环控制换页*/ { x=0; clrscr(); gotoxy(1,3); printf("***************************gongziguanli************************************"); /*输出标题*/ gotoxy(1,5); printf("|--------------------------------------------------------------------------|"); gotoxy(1,6);/*下面输出字段标题*/ printf("| no | name | jbgz | koukuan | yfgz |shuijin | sfgz |"); while(p!=NULL) /*当p不为空时,也就是有记录时,内循环控制处理9条*/ { gotoxy(1,7+x); printf("|----------|----------------|--------|----------|--------|--------|--------|"); gotoxy(1,8+x);printf("|"); gotoxy(12,8+x);printf("|"); gotoxy(29,8+x);printf("|"); gotoxy(38,8+x);printf("|"); gotoxy(49,8+x);printf("|"); gotoxy(58,8+x);printf("|"); gotoxy(67,8+x);printf("|"); gotoxy(76,8+x);printf("|"); gotoxy(2,8+x); printf("%-10s",p->no); /*输出编号*/ gotoxy(13,8+x); printf("%-15s",p->name); /*输出姓名*/ gotoxy(30,8+x); printf("%.2f",p->jbgz); /*输出基本工资*/ gotoxy(39,8+x); scanf("%f",&temp); /*输入扣款*/ p->koukuan=temp; /*扣款字段赋值*/ p->yfgz=p->jbgz-p->koukuan; /*计算应发工资=基本工资-扣款*/ gotoxy(50,8+x); printf("%.2f",p->yfgz); /*输出应发工资*/ gotoxy(59,8+x); p->shuijin=(p->yfgz-1000)*fax(p->yfgz); /*否则按税率计算税金*/ printf("%.2f",p->shuijin); /*输出税金*/ gotoxy(68,8+x); p->sfgz=p->yfgz-p->shuijin; /*计算实发工资*/ printf("%-8.2f",p->sfgz); /*输出实发工资*/ x+=2; /*行坐标下移两行*/ i++; /*记录数加1*/ if(i%9==0)break; /*记录数超过9条,跳出内循环*/ p=p->next; /*指针后移,处理下一条*/ } gotoxy(1,7+x); printf("***************************************end*********************************** "); /*输出结束行*/ printf("Press any key congtinue... "); getch(); }}/*根据应发工资,计算税率*/float fax(float x){ float f1; if(x<1000) return 0; /*小于1000,返回0*/ switch((int)(x/1000)) { case 1:f1=0.05;break; /*1000~1999,返回0.05*/ case 2:f1=0.1;break; /*2000~2999,返回0.1*/ case 3:f1=0.15;break; /*3000~3999,返回0.15*/ case 4:f1=0.2;break; /*4000~4999,返回0.2*/ default:f1=0.3;break; /*5000以上,返回0.3*/ } return f1;}
2023-06-13 15:15:161

realloc和malloc用法

realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include <stdlib.h> 有些编译器需要#include <alloc.h> 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使用free()函数将内存块释放。 注意:这里原始内存中的数据还是保持不变的。 举例: // realloc.c #include <syslib.h> #include <alloc.h> main() { char *p; clrscr(); // clear screen p=(char *)malloc(100); if(p) printf("Memory Allocated at: %x",p); else printf("Not Enough Memory! "); getchar(); p=(char *)realloc(p,256); if(p) printf("Memory Reallocated at: %x",p); else printf("Not Enough Memory! "); free(p); getchar(); return 0; } 详细说明及注意要点: 1、如果有足够空间用于扩大mem_address指向的内存块,则分配额外内存,并返回mem_address 这里说的是“扩大”,我们知道,realloc是从堆上分配内存的,当扩大一块内存空间时, realloc()试图直接从堆上现存的数据后面的那些字节中获得附加的字节,如果能够满足,自然天下太平。也就是说,如果原先的内存大小后面还有足够的空闲空间用来分配,加上原来的空间大小= newsize。那么就ok。得到的是一块连续的内存。 2、如果原先的内存大小后面没有足够的空闲空间用来分配,那么从堆中另外找一块newsize大小的内存。 并把原来大小内存空间中的内容复制到newsize中。返回新的mem_address指针。(数据被移动了)。 老块被放回堆上。 例如: #include <malloc.h> char *p,*q; p = (char * ) malloc (10); q=p; p = (char * ) realloc (p,20); ………………………… 这段程序也许在编译器中没有办法通过,因为编译器可能会为我们消除一些隐患!在这里我们只是增加了一个记录原来内存地址的指针q,然后记录了原来的内存地址p,如果不幸的话,数据发生了移动,那么所记录的原来的内存地址q所指向的内存空间实际上已经放回到堆上了!这样一来,我们应该终于意识到问题的所在和可怕了吧! 3、返回情况 返回的是一个void类型的指针,调用成功。(这就再你需要的时候进行强制类型转换) 返回NULL,当需要扩展的大小(第二个参数)为0并且第一个参数不为NULL,此时原内存变成了“freed(游离)”的了。 返回NULL,当没有足够的空间可供扩展的时候,此时,原内存空间的大小维持不变。 4、特殊情况 如果mem_address为null,则realloc()和malloc()类似。分配一个newsize的内存块,返回一个指向该内存块的指针。 如果newsize大小为0,那么释放mem_address指向的内存,并返回null。 如果没有足够可用的内存用来完成重新分配(扩大原来的内存块或者分配新的内存块),则返回null.而原来的内存块保持不变。
2023-06-13 15:15:242

C语言的sleep,wait,delay函数有什么区别?

wait 是等待子进程的返回sleep 参数指定暂停时间, 单位是 sdelay 参数指定暂停时间, 单位是 ms所以 sleep(n) == delay(1000*n)原型:extern void sleep(unsigned int sec);用法:#include <system.h功能:短暂延时说明:延时sec秒举例:// sleep.c#include <system.hmain(){int c;clrscr();printf(" Hello, world!");sleep(1);clrscr();printf(" Hi, guys");getchar();return 0;}原型:extern void delay(unsigned int msec);用法:#include <system.h功能:短暂延时说明:延时msec*4毫秒举例:// delay.c#include <system.hmain(){int c;clrscr();printf(" Hello, world!");delay(250); // 250*4=1000msec=1secclrscr();printf(" Hi, guys");getchar();return 0;}wait(等待子进程中断或结束)相关函数waitpid,fork表头文件#include<sys/types.h#include<sys/wait.h定义函数pid_t wait (int * status);函数说明wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则参数status可以设成NULL。子进程的结束状态值请参考waitpid()。返回值如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。
2023-06-13 15:15:331

C语言程序设计 班级学生成绩管理系统

#include <stdio.h>#include <malloc.h>#include <string.h>#include <conio.h>#define ADDRFILE "c:\addrlist.txt"typedef struct tagLinkedList{char name[30];char tel[30];char addr[100];struct tagLinkedList *prev;struct tagLinkedLIst *next;}ADDR;ADDR *g_pAddrHead = NULL;ADDR *g_pFind;int g_bSaved = 1;void get_addrlist(void);int add_list(const ADDR *addr);int find_list(const char *name); void SetHeadPosition(void);void SetTailPosition(void);void Add_addr(void);void Find_addr(void);void Modify_addr(void);void Delete_addr(void);void Print_addr(void);void Save_addr(void);void Remove_addr(void);void main(void){int ch;get_addrlist();puts("通讯录程序 Version 1.0");while(1){ printf(" [1]新增 [2]搜索 [3]修改 [4]删除 [5]输出 [S]储存 [Q]退出"); ch = getch(); switch(ch) { case "1": Add_addr();break; case "2": Find_addr();break; case "3": Modify_addr();break; case "4": Delete_addr();break; case "5": Print_addr();break; case "s": case "S": Save_addr();break; case "q": case "Q": if(g_bSaved == 0) { printf(" 修改后的数据需要储存吗?(y/n)?"); ch = getchar(); if(ch == "Y" || ch == "y") Save_addr(); } Remove_addr(); exit(1); default : printf(" 请按1~5或S/Q健. ");break; }}}void get_addrlist(void){ADDR addr;FILE *fp;fp = fopen(ADDRFILE,"rb");if(fp == NULL){ perror("open file error;"); return;}while(!feof(fp)){ fread(&addr,1,sizeof(ADDR),fp); if(ferror(fp)) { fclose(fp); perror("file read error;"); return; } if(feof(fp))break; if(add_list(&addr) == 0) { printf(". "); }}fclose(fp);}int add_list(const ADDR *addr){ADDR *plocal,*pn = g_pAddrHead;SetHeadPosition();if(g_pAddrHead == NULL){ plocal = malloc(sizeof(ADDR)); memset(plocal,0,sizeof(ADDR)); if(plocal == NULL) { return 0; } g_pAddrHead = plocal; g_pAddrHead->prev = NULL; g_pAddrHead->next = NULL;}else{ plocal = malloc(sizeof(ADDR)); memset(plocal,0,sizeof(ADDR)); if(plocal == NULL) { return 0; } while(pn->next) { pn = pn->next; } pn->next = plocal; plocal->prev = pn; plocal->next = NULL;}strcpy(plocal->name,addr->name);strcpy(plocal->tel,addr->tel);strcpy(plocal->addr,addr->addr);return 1;}int find_list(const char *name){ADDR *plocal;SetHeadPosition();plocal = g_pAddrHead;while(plocal){ if(strstr(plocal->name,name)) { g_pFind = plocal; return 1; } plocal = plocal->next;}return 0;}void SetHeadPosition(void){if(g_pAddrHead == NULL) return;while(g_pAddrHead->prev){ g_pAddrHead = g_pAddrHead->prev;}}void SetTailPosition(void){if(g_pAddrHead == NULL) return;while(g_pAddrHead->next){ g_pAddrHead = g_pAddrHead->next;}}void Remove_addr(void){ADDR *plocal;if(g_pAddrHead == NULL) return;SetHeadPosition();while(g_pAddrHead){ plocal = g_pAddrHead->next; free(g_pAddrHead); g_pAddrHead = plocal;}g_pAddrHead = NULL;}void Add_addr(void){ADDR addr;memset(&addr,0,sizeof(ADDR));printf(" Name: ");gets(addr.name);if(strlen(addr.name) == 0) return;printf("TEL: ");gets(addr.tel);printf("ADDR: ");gets(addr.addr);if(find_list(addr.name) == 1){ printf(" 已经存在的姓名. "); puts(g_pFind->name); puts(g_pFind->tel); puts(g_pFind->addr); return;}if(add_list(&addr)){ g_bSaved = 0; printf(" 储存完毕. ");}}void Find_addr(void){char buff[100] ={0,};ADDR *plocal;printf(" 请输入要查找的姓名/电话/地址. ");printf("姓名/电话/地址 :");gets(buff);if(strlen(buff) == 0) return;SetHeadPosition();plocal = g_pAddrHead;g_pFind = NULL;while(plocal){ if(strstr(plocal->name,buff)) { g_pFind = plocal; break; } if(strstr(plocal->tel,buff)) { g_pFind = plocal; break; } if(strstr(plocal->addr,buff)) { g_pFind = plocal; break; } plocal = plocal->next;}if(g_pFind){ puts(g_pFind->name); puts(g_pFind->tel); puts(g_pFind->addr);}else{ printf(" 搜索不到要找的%s. ",buff);}}void Modify_addr(void){char name[100] = {0,};ADDR addr;while(1){ printf(" 要修改的姓名: ");gets(name); if(strlen(name) == 0) return; if(find_list(name) == 0) { puts("输入的姓名不存在."); continue; } break;}printf(" %s的通讯录如下: ",name);puts(g_pFind->name);puts(g_pFind->tel);puts(g_pFind->addr);printf(" 输入要修改的姓名/电话/地址. ");printf("NAME: ");gets(addr.name);printf("TEL : ");gets(addr.tel);printf("ADDR: ");gets(addr.addr);if(strlen(addr.name)==0) strcpy(addr.name,name);strcpy(g_pFind->name,addr.name);strcpy(g_pFind->tel,addr.tel);strcpy(g_pFind->addr,addr.addr);g_bSaved = 0;printf("%s的通讯录修改成功. ",name);}void Delete_addr(void){char name[100] ={0,};ADDR *plocal;int ch;while(1){ printf(" 要删除的姓名: ");gets(name); if(strlen(name)==0) return; if(find_list(name) == 0) { puts("要删除的通讯录不存在."); continue; } break;}puts(g_pFind->name);puts(g_pFind->tel);puts(g_pFind->addr);printf("确定要删除%s的通讯录吗(y/n)?",name);ch = getch();fflush(stdin);if(ch == "Y"||ch == "y"){ if(g_pFind->prev == NULL) { if(g_pFind->next == NULL) { free(g_pFind); g_pAddrHead = NULL; } else { plocal = g_pFind->next; free(g_pFind); plocal->prev =NULL; g_pAddrHead = plocal; } } else if(g_pFind->next == NULL) { plocal = g_pFind->prev; free(g_pFind); plocal->next =NULL; g_pAddrHead = plocal; } else { plocal = g_pFind->prev; plocal->next = g_pFind->next; plocal = g_pFind->next; plocal->prev = g_pFind->prev; free(g_pFind); g_pAddrHead = plocal; } g_bSaved = 0; printf(" 删除完毕. ");}}void Print_addr(void){int count = 1;ADDR *plocal;SetHeadPosition();if(g_pAddrHead == NULL){ printf(" 无任何数据 "); return;}plocal = g_pAddrHead;while(plocal->prev){ plocal=plocal->prev;}printf(" ");while(plocal){ printf("NO.%d ",count++); puts(plocal->name); puts(plocal->tel); printf("%s ",plocal->addr); printf("请按任意一健(结束:q) "); getch(); if(getch() == "q")return; plocal=plocal->next;}}void Save_addr(void){ADDR *plocal, *pn;FILE *fp;if(g_pAddrHead == NULL) return;fp = fopen(ADDRFILE,"w+b");if(fp == NULL){ perror("file open error;"); return;}SetHeadPosition();plocal = g_pAddrHead;while(plocal){ pn = plocal->next; plocal = pn;}printf(" 所有数据已经储存完毕.");g_bSaved = 1;fclose(fp);}
2023-06-13 15:15:442

在c语言里#include是什么样的头文件,包含哪些函数?

conio.h不是C标准库中的头文件。conio是ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。包含的函数cgets(char*);cprintf(constchar*,...);cputs(constchar*);cscanf(constchar*,...);inp(unsignedshort);inpw(unsignedshort);getch(void);getche(void);kbhit(void);outp(unsignedshort,int);outpw(unsignedshort,unsignedshort);putch(int);ungetch(int);void_Cdeclclreol(void);void_Cdeclclrscr(void);void_Cdecldelline(void);int_Cdeclgettext(intleft,inttop,intright,intbottom,void*destin);void_Cdeclgettextinfo(structtext_info*r);void_Cdeclgotoxy(intx,inty);void_Cdeclhighvideo(void);void_Cdeclinsline(void);void_Cdecllowvideo(void);int_Cdeclmovetext(intleft,inttop,intright,intbottom,intdestleft,intdesttop);void_Cdeclnormvideo(void);int_Cdeclputtext(intleft,inttop,intright,intbottom,void*source);void_Cdecltextattr(intnewattr);void_Cdecltextbackground(intnewcolor);void_Cdecltextcolor(intnewcolor);void_Cdecltextmode(intnewmode);int_Cdeclwherex(void);int_Cdeclwherey(void);void_Cdeclwindow(intleft,inttop,intright,intbottom);har*_Cdeclcgets(char*str);int_Cdeclcprintf(constchar*format,...);int_Cdeclcputs(constchar*str);int_Cdeclcscanf(constchar*format,...);int_Cdeclgetch(void);int_Cdeclgetche(void);char*_Cdeclgetpass(constchar*prompt);int_Cdeclkbhit(void);int_Cdeclputch(intc);int_Cdeclungetch(intch);
2023-06-13 15:15:543

c语言中clrscr(); 这个是什么啊?

clear screen = slrscr()
2023-06-13 15:16:185

求助:用C语言制作一个歌曲信息管理系统

用struct做吧
2023-06-13 15:16:373

C语言中,出现"error c2065:‘clrscr’:undeclared identifie

a
2023-06-13 15:16:483

python是否有clrscr之类的可在程序里清屏的函数

import os,然后os.system("……"),那个字符串会当做命令行命令执行。os.system("cls")相当于在命令行里执行"cls",即清屏。我真见过靠cls不断清屏写命令行游戏的
2023-06-13 15:16:581

c++清空屏幕的函数是什么

system("CLS");
2023-06-13 15:17:094

为啥我的clrscr();报错 我加了头文件#include了啊

这是TC的库函数而非ANSI C标准库函数,其他编译器不能使用。换用system("cls")实现,并#include<stdlib.h>。
2023-06-13 15:17:181

clrscr()在c++ 中要包含那个库

32位下(比如VC、gcc)试试,哪里来的clrscr()???clrscr()只是TC的一个函数,不是库里的。system("cls");system函数表示执行一条系统命令,后面的cls即为DOS下的清屏命令。
2023-06-13 15:17:271

C语言中,出现"error c2065:‘clrscr’:undeclared identifie

otoxy()函数是dos下的tc或者bc环境才能运行,不是vc++中的标准函数,你试试这样#include<stdio.h>#include<conio.h>#include<dos.h>#include<stdlib.h>//#include<system.h>main(){//clrscr();//cls();system("cls()");//system("gotoxy()");//gotoxy(35,12);printf("HelloWorld!");return0;}
2023-06-13 15:17:361

clrscr()和gotoxy()在vs 2010中怎么用不了

那是tc中的函数,在标准C中没有。
2023-06-13 15:17:441

在vs2012软件中库函数conio.h中没有定义clrscr()函数怎么办,也没有库函数mem.h等怎么回事?

你说的这个函数和头文件是tc在dos上支持的,在Windows上已经不支持了,找本新一点的书?
2023-06-13 15:17:522

C语言中clrscr()是什么意思?

由来:clearscreen的缩写,意思:清屏,讲土一点,形象点,屏幕就是块黑板,clsscr()就是块黑板擦。用途:利用C语言编写多页面展示效果时,这个语句比较常用,往往用来把之前一个页面的屏幕清理干净,以便下一页面显示的清晰性。
2023-06-13 15:18:451

c语言中 //clrscr(); 什么意思?

用来清屏,vc 6.0里面没有
2023-06-13 15:18:542

clrscr()这个函数的头文件是什么?

功能:清除文本模式窗口用法:voidclrscr(void)清屏相当于dos命令cls函数名:clrscr功能:清除文本模式窗口清屏的意思就是把之前显示出的文字字符去掉跟cmd里面的清屏的功能是一样的实际上是clearscreen的简写
2023-06-13 15:19:042

clrscr是TC特有的,其它的C语言环境没有这个函数,也就没有头文件包含这个函数。建议使用system("cls");来取代clrscr();比较通用,兼容性好一点。system()函数在#include<stdlib.h>里面。
2023-06-13 15:19:121

C语言中的清屏有什么作用那

清空之前输出的结果。
2023-06-13 15:19:234

C语言编程,请问这个程序中clrscr();为什么有问题

你用哪种编译器,这个clrscr(),是用tc编译的
2023-06-13 15:19:545

c语言中清屏函数怎么用?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:20:101

c语言清屏函数有哪些?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:20:241

c语言中clrscr是什么?

清屏,不过用这个函数不好,因为它只在TC下有用,在其它编译器下没有这个函数。清屏最好用以下函数:system("cls");//DOS下system("clear");//Unix下。
2023-06-13 15:21:002

c语言中的清屏函数是什么?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:21:161

c语言清屏函数是什么?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:21:321

你好 请问C语言程序设计中出现unresolved external symbol _clrscr怎么改正

clrscr是TC特有的,其它的C语言环境没有这个函数,也就没有头文件包含这个函数。建议使用system("cls");来取代clrscr();比较通用,兼容性好一点。system()函数在#include<stdlib.h>里面
2023-06-13 15:21:481