Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

C++, kolla om ' är ett tecken i if-sats

Skapad av Splux, 2011-09-23 22:36 i Webbutveckling & Programmering

2 889
16 inlägg
0 poäng
Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
0
Hej!

Sitter och håller på med ett projekt för programmering A just nu, men har fastnat på en grej som jag inte kan hitta nåt svar på med hjälp av Google :c

Mitt problem är att jag har en if-sats som ska kolla om det man har skrivit in är ett giltigt tecken, utifrån vad jag skriver in som ett argument i if-satsen.

Det jag inte kan få till är det här fina tecknet; '
Alltså, en plupp. Eftersom det funkar inte att skriva if(whatever == ''') eller if(whatever == '39') så kommer inte jag på några fler idéer!

Någon som kan komma på ett sätt att få med den där jäkla pluppen?

Språket är då C++, om någon missade det i rubriken.

Tack på förhand :)

Tillägg av Splux 2011-09-23 23:04

Det ska f.ö. vara '39'...



Tillägg av Splux 2011-09-23 23:04

Varför funkar inte backslash?

Ingen status

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Christley
Visningsbild
P -1322 Bandhagen Hjälte 6 449 inlägg
0
jag kommer inte riktigt ihåg search satsen men ta in allt i en string.
sen kör du namn.find och då går det att hitta det.

being skinny with abs is like a fat bitch with big tits - it doesn't count

Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
Trådskapare
0

Svar till Christley [Gå till post]:
Vilket innebär att jag måste göra om hela skiten, känner tyvärr inte för det :P

Har just nu allting i en char[], håller på med en krypterare/dekrypterare så jag måste ta tecken för tecken. Då funkar inte riktigt en string, så som jag har fattat det.

Men tack ändå :3

Ingen status

flaxen
Visningsbild
Hjälte 211 inlägg
0
ASCII mannen,

int(whatever)==39;

Tror det funkar, något i den stilen iaf. Strings är för n0bz

Tillägg av flaxen 2011-09-23 22:50

(ASCII 7-bit är vad cmd använder sig av)

Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
Trådskapare
0
Svar till flaxen [Gå till post]:
Fast det där funkar inte.

1: ...==39; kollar bara om whatever har värdet 39.
2: Har du ens läst min första post? :D

(edit: sorry, insåg precis varför ditt eventuella backslash inte finns med... :X)

Ingen status

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
Nu kan jag inte C, men är det itne så att du vill kolla strict typing (om det finns), dvs. att det har samma värde och är av samma datatyp? : )

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
Trådskapare
0

Svar till Syndafloden [Gå till post]:
C++*

Men... Det jag vill göra med if'en är att kolla så att man inte skriver in ett tecken som jag inte vill ha med, t.ex. så att a-z, A-Z, 1-9 och sen vissa specialtecken, och ' råkar vara ett av dem och just det verkar vara typ omöjligt att få med...

Krångla till det ftw.

Ingen status

Neant
Visningsbild
Hjälte 766 inlägg
0

Svar till Splux [Gå till post]:

Googla på nåt regexbibliotek.


flaxen
Visningsbild
Hjälte 211 inlägg
0

Svar till Splux [Gå till post]:
dude, det funkar visste, tecknet ' har det decimala värdet 39 i ascii 7bits tabellen. Testa,

char x='c';
cout << int(x);

Den skriver ut 99, om x har ' som tecken skriver den ut 39.

Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
Trådskapare
0

Svar till Neant [Gå till post]:
Får ta och kolla på det där imorgon, just nu är det bara konstigt.

Tackar :)

Ingen status

flaxen
Visningsbild
Hjälte 211 inlägg
0

Svar till Splux [Gå till post]:
int main () {

char c='\'';

if(int(c)==39){
cout << "I win lol";
}

return 0;
}


Där har du din ifsats

Peter_den_bra
Visningsbild
Hjälte 121 inlägg
0
om whatever är en char så kan du skriva:
if(whatever == '\'')

Det är inte fel att ha fel.

Patrikp
Visningsbild
P 28 Karlskrona Hjälte 1 187 inlägg
0

Svar till Splux [Gå till post]:
Detta Var vad jag lyckades fixa ihop. Hoppas det hjälper.

[code]#include <string.h>
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string whatever = "";
cout << "Enter the string" << endl;
getline(cin,whatever);
if (whatever.find("'") != string::npos)
{
cout << "Enter a valid string" << endl;
}
else
{
// Din kod här.
}
}
[/code]

HareKrishnas gud sedan 2014

Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
Trådskapare
0

Svar till Peter_den_bra [Gå till post]:
Tackar, det där fungerade problemfritt :3


Svar till Patrikp [Gå till post]:
Sorry, strängar och att sen plocka ut ord efter ord fungerar inte riktigt lika bra som en array :)

Ingen status

-Mattias
Visningsbild
P 31 Arboga Hjälte 3 066 inlägg
0
Svar till Splux [Gå till post]:
PAWN ignorerar iaf ett backslash (vad det gör annars vet jag inte), där måste man göra två backslash för att det ska funka, har jag för mig.


http://msdn.microsoft.com/en-us/library/6aw8xdf2.aspx



Tillägg av -Mattias 2011-09-24 02:25

PAWN är mycket likt C++, tror det är baserat på C++ t.o.m

Ingen status

Splux
Visningsbild
P 31 Västerås Hjälte 3 131 inlägg
Trådskapare
0

Svar till -Mattias [Gå till post]:
Synd att du inte postade länken tidigare, stod hur man skulle göra där :P

Men tack ändå, och den länken hamnar i bokmärken iaf. Till nästan gång!

Ingen status


Forum » Datorer & IT » Webbutveckling & Programmering » C++, kolla om ' är ett tecken i if-sats

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons