帮忙看看新闻网程序

求大神帮忙看看这个程序!!_百度知道
求大神帮忙看看这个程序!!
p[i - 1]); } string& GetName(){return m_N}我想比较两个字符串的值是否相等; for (int i = 1;&请输入限制性内切酶识别碱基的长度; cin &
m_Sequence= S EyLList(100);}&#47:&quot?; i & int m = 0; &/酶切位点的个数为&#include& i++)
EyLList, q[j]);int main(){ Enzyme Ey; }请输入限制性内切酶识别的序列;= n - x+1;酶切位点的位置为.Insert(i; &quot:&} int Compare(Enzyme&e;&&gt, x); cout &/ m & &lt?;char&请输入限制性内切酶的名字,x; Ey;;请输入DNA序列;&LinearL& i &
m_x = for (int i = 1;& char *q=new char[];
cout & string m_S int m_x; #include&lt.SetData(a;class Enzyme{ b: void SetData(string N cout &; j++)
EyLList.m_S} string& GetSquence(){return m_Sequence:&string&gt,int x) {
m_Name = pare(Ey; i++) {
for (int j = 0; &&lt, cin &gt,但为什么即使输入相等的字符串也得不到正确结果:&, string x) {
int j=strcmp(e; i &lt.h& &quot,b.GetData(i + j.c_str();&
return 0;E int n = strlen(p);
if (z == 1)
m++;=& j && cin &gt.c_str());
return 1;&iostream&
cout &lt: string m_N cin &&& } return 0;# char *p=new char[];p;/#include&quot.h& cout & a,相等的时候m加一;源文件#include&&string&&&lt, string S &quot:&
int z=Ey; cout & LinearList&; string a, q);头文件#ifndef _ENZYME_H#define _ENZYME_H#include & x
提问者采纳
缺少LinearList,h
那个文件是直接抄的书上的,应该不会有问题吧
这个文件不是标准库里面的,你不给出来,我怎么编译调试,我又没有你的书
字数超了,能发给你文件吗?
粘贴到这里去,然后生成的网址给我
看paste的7563938
提问者评价
太赞了,谢谢!!!
其他类似问题
按默认排序
其他1条回答
);/0&#92, p3)/n&}else { bfs(p1, p2; 特判一下三点一样的情况就可以了if (p1 == p2 && p2 == p3) { printf(&quot
能说的详细一点吗?
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁21ic官方微信
后使用快捷导航没有帐号?
查看: 1947|回复: 11
牛人帮忙看看这个程序
&&未结帖(5)
主题帖子积分
中级技术员, 积分 204, 距离下一级还需 96 积分
中级技术员, 积分 204, 距离下一级还需 96 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 204, 距离下一级还需 96 积分
中级技术员, 积分 204, 距离下一级还需 96 积分
高手请帮忙看一下,下面的代码调试只显示初始化信息,传感器的信息完全没有反应,由于刚转入PIC行业,不是很熟悉,大伙帮忙看看了
代码如下:
#include &pic.h&& &
#include &math.h&& && &
__CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
#define& && && &LCD_RS&&RA1& &
#define& && && &LCD_RW&&RA2& &&&
#define& && && &LCD_E&&RA3
#define& && && &LCD_data PORTD& &
#define SCK& &RB1& && &//定义通讯时钟端口&&
#define DATA&&RB2& && &//定义通讯数据端口
#define DATA_HIGH() TRISB2=1 //设置数据口为输入
#define DATA_LOW()&&TRISB2=0 //设置数据口为输出
#define SCK_HIGH() TRISB1=1
#define SCK_LOW() TRISB1=0
#define&&_nop_()&&asm(&nop&)
#define noACK 0& && && && & //用于判断是否结束通讯&&
#define ACK& &1& && && && & //结束数据传输&&
& && && && && && && && && & //adr&&command&&r/w& &
#define STATUS_REG_W 0x06& &//000& &0011& & 0& &
#define STATUS_REG_R 0x07& &//000& &0011& & 1& &
#define MEASURE_TEMP 0x03& &//000& &0001& & 1& &
#define MEASURE_HUMI 0x05& &//000& &0010& & 1& &
#define RESET& && &&&0x1e& &//000& &1111& & 0&&
typedef union& &
{& && &//定义了两个共用体&&
enum {TEMP,HUMI};& && &//TEMP=0,HUMI=1&&
/******定义函数****************/&&
#define uchar unsigned char&&
#define uint unsigned int&&
void LCD_init(void);& && && && && && && && &&&//初始化函数&&
void LCD_write_command(uchar command);& && &&&//写指令函数&&
void LCD_write_data(uchar dat);& && && && && &//写数据函数&&
void LCD_disp_char(uchar x,uchar y,uchar dat);//在某个屏幕位置上显示一个字符,X(0-15),y(1-2)&&
void LCD_disp_str(uchar x,uchar y,const uchar *str); //LCD1602显示字符串函数&&
void DELAY(unsigned int i);& && && && && && && &//延时函数
void init_uart();& && && && && && && && && &&&//Uart初始化&&
void s_transstart(void);& && && && && &//启动传输函数&&
void s_connectionreset(void);& && && & //连接复位函数&&
char s_write_byte(unsigned char value);//SHT11写函数&&
char s_read_byte(unsigned char ack);& &//SHT11读函数&&
char s_read_statusreg(uchar *p_value,uchar *p_checksum);//读状态寄存器数据函数
char s_write_statusreg(uchar *p_value);//写状态寄存器数据函数
char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);//测量温湿度函数&&
void calc_11(float *p_humidity ,float *p_temperature);//测量温湿度函数
void LCD_init(void)& && && && &/*初始化函数*/
DELAY(10);&&
LCD_write_command(0x38);//设置8位格式,2行,5x7&&
DELAY(10);&&
LCD_write_command(0x0c);//整体显示,关光标,不闪烁&&
DELAY(10);&&
LCD_write_command(0x06);//设定输入方式,增量不移位&&
DELAY(10);&&
LCD_write_command(0x01);//清除屏幕显示&&
DELAY(100);& && & //延时清屏,延时函数
void LCD_write_command(uchar dat)&&/*写指令函数*/
DELAY(10);&&
LCD_RS = 0;& && && &//指令&&
LCD_RW = 0;& && && &//写入&&
LCD_E = 1;& && && & //允许&&
LCD_data =&&
DELAY(10);& &
LCD_E = 0;&&
DELAY(10);& &
void LCD_write_data(uchar dat)&&/*写数据函数*/
DELAY(10);&&
LCD_RS=1;& && && & //数据&&
LCD_RW=0;& && && & //写入&&
LCD_E=1;& && && &&&//允许&&
LCD_data=&&
DELAY(10);&&
LCD_E=0;&&
DELAY(10);&&
void LCD_disp_char(uchar x,uchar y,uchar dat)&&/*在某个屏幕位置上显示一个字符,X(0-15),y(1-2)*/
&&if(y==1)&&
& && && &address=0x80+x;&&
& && && &address=0xc0+x;&&
&&LCD_write_command(address);&&
&&LCD_write_data(dat);&&
void LCD_disp_str(uchar x,uchar y,const uchar *str)&&/*LCD1602显示字符串函数*/
&&if(y==1)&&
& && && &address=0x80+x;&&
& && && &address=0xc0+x;&&
&&LCD_write_command(address);&&
&&while(*str!='\0')&&
& & LCD_write_data(*str);& &&&
& & str++;&&
& && && && && && && && && && && &&&
void DELAY(unsigned int i)
& && && &for (i;--i;)
void s_transstart(void)& &/*启动传输函数*/
& &DATA_HIGH(); SCK_LOW();& && && && && && & //状态初始化& &
& &_nop_();& &
& &SCK_HIGH();& &
& &_nop_();& &
& &DATA_LOW();& &
& &_nop_();& &
& &SCK_LOW();& &&&
& &_nop_();_nop_();_nop_();& &
& &SCK_HIGH();& &
& &_nop_();& &
& &DATA_HIGH();& && && &
& &_nop_();& &
& &SCK_LOW();& && && &
void s_connectionreset(void)&&/*连接复位函数*/
&&DATA_HIGH(); SCK_LOW();& && && && && && &&&//状态初始化
&&for(i=0;i&9;i++)& && && && && && &//DATA保持高,SCK触发9次,发送启动传输,通讯开始复位& &
& & SCK_HIGH();&&
& & SCK_LOW();& &
&&s_transstart();& && && && && && & //transmission start& &
char s_write_byte(unsigned char value)&&/*SHT11写函数*/
&&unsigned char i,error=0;& &&&
&&for (i=0x80;i&0;i&&=1)& && && && & //循环右移,发送8位数据& &
& & if (i & value) DATA_HIGH();& && && & //写 SENSI-BUS& &
& & else DATA_LOW();& && && && && && && && && &
& & SCK_HIGH();& && && && && && && && && &
& & _nop_();_nop_();_nop_();& && &&&// 3 us& && &
& & SCK_LOW();& &
&&DATA_HIGH();& && && && && && && && && &//释放数据线&&
&&SCK_HIGH();& && && && && && && && && & //clk #9 for ack& &
&&error=DATA;& && && && && && && &&&//检查应答信号,确认通讯正常
&&_nop_();_nop_();_nop_();&&
&&SCK_LOW();&&
&&DATA_HIGH();& && && && && && && && && &//释放数据线& &
&&& && && && && && && &//返回:0通讯成功,1通讯失败&&
char s_read_byte(unsigned char ack)& & /*SHT11读函数*/
&&unsigned char i,val=0;& &
&&DATA_HIGH();& && && && && && && && && && &
&&for (i=0x80;i&0;i&&=1)& && && && & // 循环右移,发送8位数据&&
&&{ SCK_HIGH();& && && && && && && && &&&//读 SENSI-BUS& &
& & if (DATA) val=(val | i);& && &&&//读一位数据线值& &&&
&&_nop_();_nop_();_nop_();& && && && &// 3 us&&
& & SCK_LOW();& && && && && &
&&if(ack==1)DATA_LOW();& && && && && &&&//如果 &ack==1& , 拉低数据线& &
&&else DATA_HIGH();& && && && && && && & //如果是校验(ack==0),读取完后结束通讯&&
&&_nop_();_nop_();_nop_();& && && & // 3 us& &
&&SCK_HIGH();& && && && && && && && && & //clk #9 for ack& &
&&_nop_();_nop_();_nop_();& && && & // 3 us& &
&&SCK_LOW();& && && && && && &
&&_nop_();_nop_();_nop_();& && && & // 3 us& &
&&DATA_HIGH();& && && && && && && && && &//释放数据线& &
char s_read_statusreg(uchar *p_value,uchar *p_checksum)/*读状态寄存器数据函数*/
uchar error=0;
s_transstart();
error=s_write_byte(STATUS_REG_R);& && &//给传感器发送命令
*p_value=s_read_byte(ACK);& && && && & //读状态寄存器(8-bit)
*p_checksum=s_read_byte(noACK);& && &&&//读checksum(8-bit)
char s_write_statusreg(uchar *p_value)/*写状态寄存器数据函数*/
uchar error=0;
s_transstart();
error+=s_write_byte(STATUS_REG_W); //发寄存器命令& &&&
error+=s_write_byte(*p_value);//从状态寄存器发送数据
//error&=1 in case of response from the sensor
void init_uart()& & /*Uart初始化*/
ADCON1=0x07;&&
TRISB=0x00;
TRISD=0x00;
TRISA=0x00;
char s_measure(uchar *p_value, uchar *p_checksum, uchar mode)& & /*测量温湿度函数*/
&&unsigned error=0;& &
&&s_transstart();& && && && && && & //调用传输启动函数& &
&&switch(mode){& && && && && && && &//给传感器发送指令 TEMP位温度 HUMI位湿度& &
& & case TEMP&&: error+=s_write_byte(MEASURE_TEMP);& &
& & case HUMI&&: error+=s_write_byte(MEASURE_HUMI);& &
& & default& &&&:& && &
&&for (i=0;i&65535;i++) if(DATA==0) //延时等待直到测量完成
&&if(DATA) error+=1;& && && && && & // 超时,测量错误&&
&&*(p_value)&&=s_read_byte(ACK);& & //先读MSB& &
&&*(p_value+1)=s_read_byte(ACK);& & //后读LSB& &
&&*p_checksum =s_read_byte(noACK);&&//read checksum CRC&&
void calc_sht11(float *p_humidity ,float *p_temperature)& &/*计算温湿度函数*/
{ const float C1=-4.0;& && && && &&&// 湿度默认为12位&&
&&const float C2=+0.0405;& && && && &
&&const float C3=-0.0000028;& && && &
&&const float T1=+0.01;& && && && & // 14位 5v&&
&&const float T2=+0.00008;& && && && &
&&float rh=*p_& && && && & // rh:Humidity 12 bit 湿度默认为12位&&
&&float t=*p_& && && &&&// t:temperature 14 bit 温度默认为14位&&
&&float rh_& && && && && && && &//湿度&&
&&float rh_& && && && && && &&&// 温度对相对湿度的补偿&&
&&float t_C;& && && && && && && && &// 温度&&
&&t_C=t*0.01 - 40;& && && && && && &//temp补偿&&
&&rh_lin=C3*rh*rh + C2*rh + C1;& &&&//相对humi非线性补偿&&
&&rh_true=(t_C-25)*(T1+T2*rh)+rh_& &//相对湿度对于温度依赖性补偿
&&if(rh_true&100)rh_true=100;& && & //湿度最大修正&&
&&if(rh_true&0.1)rh_true=0.1;& && & //最小修正&&
&&*p_temperature=t_C;& && && && && &//return 温度&&
&&*p_humidity=rh_& && && && &&&//return 湿度
/*************************主函数****************************/&&
void main(void)&&
value humi_val,temp_&&
& && &&&uchar error,& &
& && &&&uint wendu,
& && &&&init_uart();
& && &&&LCD_init();
& && &&&LCD_disp_str(0,1,&WELCOME TO SIKO!&);
& && &&&DELAY(10000);&&
& && &&&LCD_write_command(0x01);
& && &&&s_connectionreset();& &
& && &&&LCD_disp_str(0,1,&TE&);&&
& && && &LCD_disp_str(0,2,&RH&);&&
& && &&&LCD_disp_str(2,1,&TTT.TC&);/*初始化温度显示区*/&&
& && &&&LCD_disp_str(2,2,&RRR.R%&);/*初始化湿度显示区*/&&
& && &&&DELAY(20000);& &&&//延时0.2s&&
& && &&&while(1)& &
& && &&&{ error=0;& &
& && && & error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI);&&//测湿度& &
& && && & error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP);&&//测温度& &
& && && & if(error!=0) s_connectionreset();& && && && && &&&//错误则复位& &
& && && & else& &
& && && & { humi_val.f=(float)humi_val.i;& && && && && && & //转为浮点数&&
& && && && &temp_val.f=(float)temp_val.i;& && && && && && & //转为浮点数
& && && && &calc_sht11(&humi_val.f,&temp_val.f);& && && && &//计算温湿度&&
& && && && &wendu=10*temp_val.f;&&
& && && && &LCD_disp_char(2,1,wendu/1000+'0');& && && && &&&//显示温度百位&&
& && && && &LCD_disp_char(3,1,(wendu%+'0');& && &&&//显示温度十位&&
& && && && &LCD_disp_char(4,1,(wendu%100)/10+'0');& && && & //显示温度个位&&
& && && && &LCD_disp_char(6,1,(wendu%10)+'0');& && && && &&&//显示温度小数点后第一位&&
& && && && &shidu=10*humi_val.f;&&
& && && && &LCD_disp_char(2,2,shidu/1000+'0');& && && && && &//显示湿度百位&&
& && && && &LCD_disp_char(3,2,(shidu%+'0');& && && &//显示湿度十位&&
& && && && &LCD_disp_char(4,2,(shidu%100)/10+'0');& && && &&&//显示湿度个位&&
& && && && &LCD_disp_char(6,2,(shidu%10)+'0');& && && && && &//显示湿度小数点后第一位&&
& && && & }& &
& && && & //----------wait approx. 0.8s to avoid heating up SHTxx------------------------------& && && &
&&DELAY(80000);& && && && && && && && && && &&&//延时约0.8s&&
& && &&&}&&
主题帖子积分
资深技术员, 积分 484, 距离下一级还需 16 积分
资深技术员, 积分 484, 距离下一级还需 16 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 484, 距离下一级还需 16 积分
资深技术员, 积分 484, 距离下一级还需 16 积分
#define DATA_HIGH() TRISB2=1 //设置数据口为输入
#define DATA_LOW()&&TRISB2=0 //设置数据口为输出
#define SCK_HIGH() TRISB1=1
#define SCK_LOW() TRISB1=0
你的DATA_HIGH()是定义数据方向的(输入或者输出)。操作端口应该用PORTB。
试试改为以下程序段
#define DATA_IN() TRISB2=1 //设置数据口为输入
#define DATA_OUT()&&TRISB2=0 //设置数据口为输出
#define SCK_IN() TRISB1=1
#define SCK_OUT() TRISB1=0
#define DATA_HIGH() RB2=1 //设置数据口输出高电平
#define DATA_LOW()&&RB2=0 //设置数据口输出低电平
#define SCK_HIGH() RB1=1
#define SCK_LOW() RB1=0
主题帖子积分
主题帖子积分
专家等级:结帖率:89%
主题帖子积分
牛人都很忙,没空看那别人写的大把大把的代码。
一:我的回帖多数只是猜测/估计/想象,建立在我现有知识结构的理解和分析上,多数都没有动手实际检验过,请斟酌采纳.
二:若对我的技术类主帖或回帖有异议,欢迎讨论,拒绝过激攻击或辱骂,否则全站追杀屏蔽发帖,后果自负.
三:对本人的其它意见,请直接向站长投诉,勿使用站内短信骚扰/挑衅/辱骂,否则将全站追杀屏蔽发帖,后果自负.
主题帖子积分
主题帖子积分
专家等级:结帖率:89%
主题帖子积分
既然是刚入行,就慢慢一点一点看,一点一点DEBUG分析,动不动贴一摞代码,而且也不具体说明想问什么问题,你认为大家时间都好闲哦!?
一:我的回帖多数只是猜测/估计/想象,建立在我现有知识结构的理解和分析上,多数都没有动手实际检验过,请斟酌采纳.
二:若对我的技术类主帖或回帖有异议,欢迎讨论,拒绝过激攻击或辱骂,否则全站追杀屏蔽发帖,后果自负.
三:对本人的其它意见,请直接向站长投诉,勿使用站内短信骚扰/挑衅/辱骂,否则将全站追杀屏蔽发帖,后果自负.
主题帖子积分
资深技术员, 积分 484, 距离下一级还需 16 积分
资深技术员, 积分 484, 距离下一级还需 16 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 484, 距离下一级还需 16 积分
资深技术员, 积分 484, 距离下一级还需 16 积分
补充:在写端口之前,先DATA_OUT();读端口之前,先DATA_IN();
SCK方向一直用输出就可以了 SCK_OUT()
用这个方法修正下你的传感器读写程序,应该就可以了
主题帖子积分
中级技术员, 积分 204, 距离下一级还需 96 积分
中级技术员, 积分 204, 距离下一级还需 96 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 204, 距离下一级还需 96 积分
中级技术员, 积分 204, 距离下一级还需 96 积分
各位不好意思啦 多多包涵 呵呵
谢谢楼上的朋友 把端口设置改了 还是不行 忘说一个问题了 就是编译有2个警告 wendu=10*temp_val.f;
shidu=10*humi_val.f;浮点数和整型转化的问题 implicit conversion of float to integer& &有时间帮忙看一下 谢谢
主题帖子积分
实习生, 积分 45, 距离下一级还需 5 积分
实习生, 积分 45, 距离下一级还需 5 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 45, 距离下一级还需 5 积分
实习生, 积分 45, 距离下一级还需 5 积分
humi_val.f这个是浮点型。shidu是整型。浮点型赋值给整型当然会警告
主题帖子积分
助理工程师, 积分 1143, 距离下一级还需 857 积分
助理工程师, 积分 1143, 距离下一级还需 857 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
助理工程师, 积分 1143, 距离下一级还需 857 积分
助理工程师, 积分 1143, 距离下一级还需 857 积分
编译通过了说下呀。应该是温湿度控制的程序。
Anything But Ordinary 决不平凡
主题帖子积分
中级技术员, 积分 204, 距离下一级还需 96 积分
中级技术员, 积分 204, 距离下一级还需 96 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 204, 距离下一级还需 96 积分
中级技术员, 积分 204, 距离下一级还需 96 积分
好久没进来了 呵呵 谢谢各位 问题已经搞定了&&是读MSB和LSB的高低位搞反了
主题帖子积分
高级工程师, 积分 5075, 距离下一级还需 2925 积分
高级工程师, 积分 5075, 距离下一级还需 2925 积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
高级工程师, 积分 5075, 距离下一级还需 2925 积分
高级工程师, 积分 5075, 距离下一级还需 2925 积分
说明了问题,不错,给了别人指引---
long long ago
主题帖子积分
实习生, 积分 27, 距离下一级还需 23 积分
实习生, 积分 27, 距离下一级还需 23 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 27, 距离下一级还需 23 积分
实习生, 积分 27, 距离下一级还需 23 积分
PIC有很多的芯片,发帖要说明用的哪一类型的芯片以及大概的接口,不然有时候会有疑问,牛人们看了不知如何回答
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
永不落的星 发表于
好久没进来了 呵呵 谢谢各位 问题已经搞定了&&是读MSB和LSB的高低位搞反了
能详细说下吗&&我也是和你一样的程序&&就是不显示呀&&调了好久了
技术新星奖章
人才类勋章
时间类勋章
涓涓之细流
发帖类勋章
技术奇才奖章
人才类勋章
时间类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
社区建设奖章
等级类勋章
无冕之王奖章
等级类勋章
沉静之湖泊
发帖类勋章
技术导师奖章
人才类勋章
热门推荐 /1大虾写帮忙看看这个程序的警告怎么改-红联Linux系统门户
您的位置:
&& 查看内容 - - -
大虾写帮忙看看这个程序的警告怎么改
sydnash发布于
&&字号: &&&&(网友评论&5&条)&
#include"lianbiao.h"
/*#include
#define maxname 100
#define stu struct student
typedef struct {
char name[maxname];
int main()
head = (student*)malloc(sizeof(student));
int a,number,c;
printf("now creat a student' date\n");
printf("%d",c);
head = creat();
while(c==0){
printf("what do you want to do?\n");
printf("please input 0(exit),1(del a student),2(add student),3(find a student),4(display)\n");
scanf("%d",&a);
switch(a){
case 0: c = 1;
case 1: printf("please input the student's number:\n");
scanf("%d",&number);
head = del(number,head);
case 2: printf("now start to add:\n");
head = add(head);
case 3:printf("please input the student's number:\n");
scanf("%d",&number);
pl = find(number,head);
case 4:head = display(head);
default: c = 1;
lianbiao.h
//#define stu struct student
#define maxname 100
typedef struct {
char name[maxname];
struct student *
student* creat(void);
student* del(int number,student *p);
student* add(student *p);
student* find(int number,student *p);
student* display(student *p);
lianbiao.c
#include"lianbiao.h"
student *creat(void){
student *p1;
student *p2;
student *p;
p1 = (student*)malloc(sizeof(student));
p1->next = NULL;
p = (student*)malloc(sizeof(student));
printf("please input student's number from small to large\n");
scanf("%d",&p->num);
if(p->num == 0)
printf("please input student's name\n");
scanf("%s",&p->name);
printf("please input student's math number\n");
scanf("%d",&p->math);
printf("please input student's chinese number\n");
scanf("%d",&p->chinese);
if(p2->next == NULL){
p1->next =p->next = NULL;p1 =printf("chenggong\n");}
else {p1->next =p->next = NULL;p1 =printf("chenggong\n");}
}return(p2);
student *del(int number,student *p){
student *p1;
student *p2;
if(p->next == NULL) printf("eror:this lianbiao is null!");
//if(p->num == number) p2 = p->
if(p->num == number) p2 = p->
while(p->num != number&& p->next != NULL){
p1 =p = p->
if(p->next == NULL) printf("eror:there is no this student!");
p1->next = p->
return(p2);
student *add(student *p){
student *p1;
student *p2;
student *p3;
if(p->next == NULL) printf("eror:this lianbiao is null!");
printf("please input student's number\n");
scanf("%d",&number);
while(p->num next != NULL){
}printf("chenggong\n");
if(p->num == number) {printf("eror:this student is cunzai!");return(p2);}
p3 = (student*) malloc(sizeof(student));
printf("please input student's name\n");
scanf("%s",&p3->name);
printf("please input student's math number\n");
scanf("%d",&p3->math);
printf("please input student's chinese number\n");
scanf("%d",&p3->chinese);
if(p->next == NULL) {p->next = p3;p3->next = NULL;p =p3;}
else {p3->next =
p1->next = p3;}
return(p2);
student* find(int number,student *p){
if(p->next == NULL) printf("eror:this lianbiao is null!");
while(p->num != number && p->next != NULL){
p = p->i++;
if(p->next == NULL)
if(p->num != number)
printf("eror:this student is not egzist!");
printf("chenggong\n");
printf("%d",i);
printf("%d,%d,%s,%d\n",p->num,p->math,p->name,p->chinese);
return(p);
student *display(student *p)
student *p1;
student *p2;
while(p1->next != NULL){
printf("%d,%s,%d,%d\n",p1->num,p1->name,p1->math,p1->chinese);
p = p1;p1 = p1->
printf("%d,%s,%d,%d\n",p1->num,p1->name,p1->math,p1->chinese);
return(p2);
在生成lianbiao.o时出现下列警告
lianbiao.c: 在函数‘creat’中:
lianbiao.c:24: 警告:从不兼容的指针类型赋值
lianbiao.c:25: 警告:从不兼容的指针类型赋值
lianbiao.c: 在函数‘del’中:
lianbiao.c:35: 警告:从不兼容的指针类型赋值
lianbiao.c:36: 警告:从不兼容的指针类型赋值
lianbiao.c:38: 警告:从不兼容的指针类型赋值
lianbiao.c: 在函数‘add’中:
lianbiao.c:53: 警告:从不兼容的指针类型赋值
lianbiao.c:57: 警告:从不兼容的指针类型赋值
lianbiao.c:68: 警告:从不兼容的指针类型赋值
lianbiao.c:69: 警告:从不兼容的指针类型赋值
lianbiao.c:70: 警告:从不兼容的指针类型赋值
lianbiao.c: 在函数‘find’中:
lianbiao.c:77: 警告:从不兼容的指针类型赋值
lianbiao.c: 在函数‘display’中:
lianbiao.c:92: 警告:从不兼容的指针类型赋值
lianbiao.c:95: 警告:从不兼容的指针类型赋值
作者: sydnash&发布日期:
大概情况与以下类似:
我在定义我的结构体的时候next定义为struct student, 然后定义
结构体指针时定义为
student *p,student *p1,
当用p = p->next语句时就报以上警告。
但是我把指针定义为struct student *p报错提领指向不完全类型的指针
或者next定义为student next也会报错。
作者: sirniu&发布日期:
1.程序本身的错误
lianbiao.h中结构体的定义改为:
typedef struct stu{
char name[maxname];
struct stu *
2.一点建议:
把你的代码粘到本地后我做的第一件工作是代码的排版,因为你的代码太乱了,没法读。所以注意代码的风格,良好的编码规范是一个好的程序员的开始。注意的地方如下:
函数内的变量定义,语句等应该分块,适当的加空行,而且语句间也应按照代码功能分块;
一行只写一句代码;
条件语句和循环语句后不要吝啬花括号,即使只有一句;
程序中的提示语言应该准确,统一,不要一会拼音一会英文;
3.就程序本身你做的还是不错,加油啊!
作者: sydnash&发布日期:
谢谢指导,程序像你说那样改了就对了。
不过有一点不理解,这样定义的student应该是属于变量名吧,怎么还能用它去定义指针的类型呢?
作者: sirniu&发布日期:
(1)是你对typedef不理解,typedef的语法:
这样定义之后语句:
申明的变量是一样的,是给int取了一个别名integer;
(2)这是你的定义:
typedef struct {
char name[maxname];
struct student *
问题在于:
char name[maxname];
struct student *
}//是定义了一个没有类型名的结构体
typedef struct {
char name[maxname];
struct student *
给刚才的那个匿名结构体类型取别名为student,student是后有的,怎么能在先定义的类型中引用呢?
(3)再看看我改后:
typedef struct stu{
char name[maxname];
struct stu *
也可以这样定义:
struct stu{
char name[maxname];
struct stu *
是先定义了一个结构体类型stu然后取个别名student,注意是先有stu才有
作者: sirniu&发布日期:
你可以加我QQ,有问题可以探讨:
共有评论数 5/每页显示数 10
发表评论,与各位同人交流。回复请点击下方的我要评论按钮(游客可回复),要发表贴子请点击
=>Linux教程下载?“”(请点击),Linux教程免费下载。
=>求助Linux问题?论坛有39版块,覆盖所有Linux技术层面。前往“”
 |  |  |  |  |  |  |  |  |  |  |  | 
&2015 红联 Powered by SupSite

我要回帖

更多关于 迅雷看看 的文章

 

随机推荐