Forum » Programiranje » Visual C# problem
Visual C# problem
sostarpof ::
Pozdrav!
Da ne bom smetil po forumu bom kar v to temo napisal moj problem v C#.
Problem je tak imam tako kodo:
in ko moram pač vpisati "Ali želite spremeniti podatke" moram 2x napisati odgovor:
Isti primer če napišem D za DA.
To se mi je že prej ane parkrat naredilo sam se potem nisem več poglabljav.
LP!
Štefc
Da ne bom smetil po forumu bom kar v to temo napisal moj problem v C#.
Problem je tak imam tako kodo:
Console.Write("Ali želite spremeniti vse podatke? (D/N) "); if(Convert.ToChar(Console.ReadLine())=='D' || Convert.ToChar(Console.ReadLine())=='d') {KODA...}
in ko moram pač vpisati "Ali želite spremeniti podatke" moram 2x napisati odgovor:
Isti primer če napišem D za DA.
To se mi je že prej ane parkrat naredilo sam se potem nisem več poglabljav.
LP!
Štefc
sostarpof ::
Hvala za odgovor.
Sam kako da mi je to šele zdaj naredil? Prej se imel tudi tako napisal potem sem pa nekaj kodo spreminjal oz. sem dodajal sam sem to, kar sem dodal potem izbrisal.
Sam kako da mi je to šele zdaj naredil? Prej se imel tudi tako napisal potem sem pa nekaj kodo spreminjal oz. sem dodajal sam sem to, kar sem dodal potem izbrisal.
Vesoljc ::
Hvala za odgovor.
Sam kako da mi je to šele zdaj naredil? Prej se imel tudi tako napisal potem sem pa nekaj kodo spreminjal oz. sem dodajal sam sem to, kar sem dodal potem izbrisal.
zato ker si D vnesel namesto d. ce je prvi pogoj izpolnjen se pri || drugi del sploh ne gre izvajat.
Abnormal behavior of abnormal brain makes me normal...
dellon ::
OP predlagam da si rezultat branja iz konzole shraneš v novo string spremenljivko katere rezultat potem recimo daš kot pomanjšano "ToLower()" in nato preverjaš samo z enim pogojem
Lahko pa si pogledaš tudi property InvariantCultureIgnoreCase
(if sprem == "d") { //naredi nekaj }
Lahko pa si pogledaš tudi property InvariantCultureIgnoreCase
Zgodovina sprememb…
- spremenil: dellon ()
sostarpof ::
Dobro.
@Vesoljc Kakšen znak al beseda pa je še da lahko pri pogoju daš ALI. En je ta ||.
@Vesoljc Kakšen znak al beseda pa je še da lahko pri pogoju daš ALI. En je ta ||.
Vesoljc ::
|| je logicni ALI
&& je logicni IN
&& je logicni IN
Abnormal behavior of abnormal brain makes me normal...
technolog ::
Nisem domač v C#, ampak nekaj takega bi moralo delat:
{'d', 'D'}.Contains( Convert.ToChar(Console.ReadLine()) )
Zgodovina sprememb…
- spremenil: technolog ()
mihies ::
techolog, ne bo šlo tako.
Ena od rešitev je tale:
ali
Če imaš bolj kompleksno primerjavo, lahko razmisliš tudi o Regex.
Ena od rešitev je tale:
Array.IndexOf(new[] { 'd', 'D' }, Console.ReadLine()[0]) >= 0 // primerjaš char
ali
Array.IndexOf(new[] { "d", "D" }, Console.ReadLine()) >= 0
Če imaš bolj kompleksno primerjavo, lahko razmisliš tudi o Regex.
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
technolog ::
Ne, tud tole bi moralo delat:
(new List<string> {"d", "D"}).contains(...)
Zgodovina sprememb…
- spremenil: technolog ()
mihies ::
Tale tudi, samo je rahlo nevarnejše, ker bo sprejela tudi vhod "dD":
bolj varna verzija:
"dD".IndexOf(Console.ReadLine())
bolj varna verzija:
"dD".IndexOf(Console.ReadLine()[0])
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
Zgodovina sprememb…
- spremenil: mihies ()
vorantz ::
O_O
kake čarate za eno črko primerjat
tole:
kake čarate za eno črko primerjat
tole:
String.Compare("D", spremenljivka, StringComparison.OrdinalIgnoreCase) == 0
Mesar ::
A ti pa ne?
if(Console.ReadLine().ToLower() == "da")
edit: če hočeš več opcij preverjat pa si daš Console.ReadLine().ToLower() v string spremenljivko pa primerjas...
if(Console.ReadLine().ToLower() == "da")
edit: če hočeš več opcij preverjat pa si daš Console.ReadLine().ToLower() v string spremenljivko pa primerjas...
Your turn to burn!
Zgodovina sprememb…
- spremenil: Mesar ()
norcuron ::
Jao, komplicirate ... konverzija v Lower ali Upper in narediš enkratno kontrolo pogoja ...
Great are mysteries of the mind ... or not?
Mesar ::
Nah bvz to, boljše string razbit na znake pa shranit v char array, potem pa loopat znake jih popravljat in potem v if stavke pisat pisat primerjave za vsak znak. Lahko bi še po utf8 kodni tabeli pretvarjal pa pol preverjal če je prava številka znaka...
Your turn to burn!
vorantz ::
A ti pa ne?
if(Console.ReadLine().ToLower() == "da")
edit: če hočeš več opcij preverjat pa si daš Console.ReadLine().ToLower() v string spremenljivko pa primerjas...
kar bi nekako delalo dokler ne boš delal aplikacijo ki mora znat primerjat tudi čudne črke (invariant culture pa to)
moja poskrbi za vse
prej ko se navadiš stringe tako comparat bolše je
Mesar ::
Pa še neki, obstaja tudi "ToLowerInvariant()", komaj zdaj sem videl ko sem VS pognal in meni recimo "if (Console.ReadLine().ToLower() == "ščćžđ") Console.WriteLine("Ho!");" čisto lepo dela z velikimi ali malimi črkami.
Sicer pa po želji... meni je cilj v čim krajšem času napisat čim hitrejšo in čim boljšo aplikacijo, ne pa programirat zraven neke zadeve, ki ne bodo nikoli v rabi (v tem primeru).
C?(pronounced as see sharp) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, procedural, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed by Microsoft within its .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270:2006).
Sicer pa po želji... meni je cilj v čim krajšem času napisat čim hitrejšo in čim boljšo aplikacijo, ne pa programirat zraven neke zadeve, ki ne bodo nikoli v rabi (v tem primeru).
Your turn to burn!
mihies ::
Ja, tisto z nizom je bilo bolj za hec, ali pa če hočeš primerjati z več različnimi znaki hkrati.
Znajo pa biti tele tekstovne primerjave tečne in ti nagajati, kadar najmanj pričakuješ. Klasičen je primer turškega I-ja.
Turški i
Znajo pa biti tele tekstovne primerjave tečne in ti nagajati, kadar najmanj pričakuješ. Klasičen je primer turškega I-ja.
Turški i
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
sostarpof ::
Pozdrav!
Spet se oglašam, ker imam spet en problem, ki ga ne znam rešiti. Tukaj je koda:
Pod error mi napiše "Use of unnasigned local variable "ImeNajvecjaTrg"".
LP!
Štefc
Spet se oglašam, ker imam spet en problem, ki ga ne znam rešiti. Tukaj je koda:
string ime; string naslov; int velikost; int najvecjatrg = 0; string ImeNajvecjaTrg=""; Trgovina[] tabtrg = new Trgovina[10]; for (int i = 0; i < tabtrg.Length; i++) { Console.WriteLine("Vnesite podatke o trgovini!"); Console.Write("Ime: "); ime = Console.ReadLine(); Console.Write("Naslov: "); naslov = Console.ReadLine(); Console.Write("Velikost: "); velikost = Convert.ToInt32(Console.ReadLine()); tabtrg[i] = new Trgovina(ime, naslov, velikost); if (velikost > najvecjatrg) { najvecjatrg = velikost; ImeNajvecjaTrg = ime; } } Console.WriteLine("Največja trgovina je: " + ImeNajvecjaTrg+", ki ima velikost "+najvecjatrg+" m2"); Console.ReadKey();
Pod error mi napiše "Use of unnasigned local variable "ImeNajvecjaTrg"".
LP!
Štefc
sostarpof ::
Še enkrat jest.
Zanima me, če zna kdo nardit tile 2 nalogi:
3.)Sestavite metodo, ki za vhodni parameter sprejme ime tekstovne datoteke in ki ustvari novo datoteko s končnico bak,
v kateri so med znaki originalne datoteke presledki. Če je npr. besedilo datoteke
Lepa Anka kolo vodi
bo vsebina nove datoteke
L e p a A n k a k o l o v o d i
4.) Napišite metodo, ki za vhodni podatek sprejme ime vhodne in izhodne datoteke. Metoda naj prepiše vrstice v vhodni datoteki na izhodno datoteko,
pri čemer združi vse vrstice v eno vrstico. Na primer, če je na datoteki Dat1.txt zapisano
prva vrstica,
druga vrstica,
tretja vrstica,
četrta vrstica,
peta vrstica.
potem je zapis na datoteki Dat2.txt
prva vrstica, druga vrstica, tretja vrstica, četrta vrstica, peta vrstica.
Bi bil zelo vesel, če bi ju kdo rešil in pokazal kodo. .)
Sm se jes zej 3 uri ukvarjal z nalogama. Pa mi ni uspel..
LP!
Štefc
Zanima me, če zna kdo nardit tile 2 nalogi:
3.)Sestavite metodo, ki za vhodni parameter sprejme ime tekstovne datoteke in ki ustvari novo datoteko s končnico bak,
v kateri so med znaki originalne datoteke presledki. Če je npr. besedilo datoteke
Lepa Anka kolo vodi
bo vsebina nove datoteke
L e p a A n k a k o l o v o d i
4.) Napišite metodo, ki za vhodni podatek sprejme ime vhodne in izhodne datoteke. Metoda naj prepiše vrstice v vhodni datoteki na izhodno datoteko,
pri čemer združi vse vrstice v eno vrstico. Na primer, če je na datoteki Dat1.txt zapisano
prva vrstica,
druga vrstica,
tretja vrstica,
četrta vrstica,
peta vrstica.
potem je zapis na datoteki Dat2.txt
prva vrstica, druga vrstica, tretja vrstica, četrta vrstica, peta vrstica.
Bi bil zelo vesel, če bi ju kdo rešil in pokazal kodo. .)
Sm se jes zej 3 uri ukvarjal z nalogama. Pa mi ni uspel..
LP!
Štefc
Zgodovina sprememb…
- spremenil: sostarpof ()
vorantz ::
če se gremo basic rešitve
fill in the blanks
3.)
-readline
-tochararray
-char+" "
-write
-writeline
4.)
-readline
-write
fill in the blanks
3.)
-readline
-tochararray
-char+" "
-write
-writeline
4.)
-readline
-write
technolog ::
3 uri? 3 uri?
Najprej nameni 1 uro slovenščini, nato pa cel vikend tema nalogama. Nikol ne boš znal, če se boš zanašal na druge.
Najprej nameni 1 uro slovenščini, nato pa cel vikend tema nalogama. Nikol ne boš znal, če se boš zanašal na druge.
epicVoid ::
public static void changeFile(string name) { StringBuilder sb; int spaceRemover; try { string[] lines = File.ReadAllLines(name); Console.Write("\n----------------------------------------------\n"); Console.WriteLine("Prebrane vrstice iz datoteke : " + "\n"); int lineCounter = 0; foreach(string line in lines) { Console.WriteLine(lineCounter + ". " + line); lineCounter++; } Console.Write("\n----------------------------------------------\n"); Console.WriteLine("Spremenjene vrstice : " + "\n"); foreach(string line in lines) { string line2 = line; sb = new StringBuilder(); line2 = line2.Replace(" ", ""); for (int i = 0; i < line2.Count(); i++) { if (!line2[i].Equals(" ")) { sb.Append(line2[i] + " "); } } Console.WriteLine(sb); } Console.Write("\n----------------------------------------------\n"); } catch(Exception ex) { Console.WriteLine("Napaka " + ex.Message); } }
Dodaj še shranjevanje v .bak, ali spremeni po želji.
Zgodovina sprememb…
- spremenilo: epicVoid ()
sostarpof ::
3 uri? 3 uri?
Najprej nameni 1 uro slovenščini, nato pa cel vikend tema nalogama. Nikol ne boš znal, če se boš zanašal na druge.
Sem naprej napisal problem za eno nalogo s katero sem se res ukvarjal 2 uri potem, ko sem spreminjal se pa dodal še drugo nalogo s katero sem se dodatno ukvarjal 1 uro in se potem spremenil v 3 ure a sem pozabil spremeniti iz uri v ure.
Se spomnim iz srednje šole, ko je sošolec vprašal "Koliko časa je še do odmora?" mu je drugi odgovoril "Čez 2 minute." je ena prfoksa, ki je bila v tistem času v knjižnici, rekla "2 MINUTI. Mamamia kdo te je učil slovenščino?!".
public static void changeFile(string name)
{
StringBuilder sb;
int spaceRemover;
try
{
string[] lines = File.ReadAllLines(name);
Console.Write("\n----------------------------------------------\n");
Console.WriteLine("Prebrane vrstice iz datoteke : " + "\n");
int lineCounter = 0;
foreach(string line in lines)
{
Console.WriteLine(lineCounter + ". " + line);
lineCounter++;
}
Console.Write("\n----------------------------------------------\n");
Console.WriteLine("Spremenjene vrstice : " + "\n");
foreach(string line in lines)
{
string line2 = line;
sb = new StringBuilder();
line2 = line2.Replace(" ", "");
for (int i = 0; i < line2.Count(); i++)
{
if (!line2[i].Equals(" "))
{
sb.Append(line2[i] + " ");
}
}
Console.WriteLine(sb);
}
Console.Write("\n----------------------------------------------\n");
}
catch(Exception ex)
{
Console.WriteLine("Napaka " + ex.Message);
}
}
Dodaj še shranjevanje v .bak, ali spremeni po želji.
Hvala za pomoč!
Zgodovina sprememb…
- spremenil: sostarpof ()
mladec ::
Zdravo!
Zanima me, kako se naredi kot nekakšno namestitveno datoteko, kjer bi rad eno spremenljivko nastavil na določeno vrednost za vsak računalnik posebej, ki se ob naslednjem zagonu ohrani. Se to da?
Zanima me, kako se naredi kot nekakšno namestitveno datoteko, kjer bi rad eno spremenljivko nastavil na določeno vrednost za vsak računalnik posebej, ki se ob naslednjem zagonu ohrani. Se to da?
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] Ustvarjanje objekta v drugem razreduOddelek: Programiranje | 1648 (1593) | Cvenemir |
» | [C#] Kopiranje osebe iz seznama v drug seznamOddelek: Programiranje | 1482 (1343) | Presidente |
» | [C#] Reševanje domačih nalogOddelek: Programiranje | 3244 (2748) | krastača |
» | [C#] razlagaOddelek: Programiranje | 1585 (1302) | krastača |
» | Naloga v C#Oddelek: Programiranje | 2607 (2107) | Hardstyle |